【Java开源代码栏目提醒】:网学会员鉴于大家对Java开源代码十分关注,论文会员在此为大家搜集整理了“Dom4jTest.java”一文,供大家参考学习
// $Id: Dom4jTest.java 8598 2005-11-17 20:39:59Z steveebersole $
package org.hibernate.test.dom4j;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.dom4j.DocumentFactory;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.hibernate.EntityMode;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.util.XMLHelper;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import org.hibernate.criterion.Example;
import org.hibernate.test.TestCase;
/**
* @author Gavin King
*/
public class Dom4jTest extends TestCase {
public Dom4jTest(String str) {
super( str );
}
// TODO : still need to figure out inheritence support within the DOM4J entity-mode
//
// public void testSubtyping() throws Exception {
// Element employer = DocumentFactory.getInstance().createElement( "employer" );
// employer.addAttribute( "name", "JBoss" );
// Element gavin = employer.addElement( "techie" );
// gavin.addAttribute( "name", "Gavin" );
// Element ben = employer.addElement( "sales-dude" );
// ben.addAttribute( "name", "Ben" );
// print( employer );
//
// Session s = openSession();
// Transaction t = s.beginTransaction();
// s.persist( "Employer", employer );
// Long eid = new Long( employer.attributeValue( "id" ) );
// t.commit();
// s.close();
//
// s = openSession();
// t = s.beginTransaction();
// employer = (Element) s.get( "Employer", eid );
// print( employer );
// s.delete( "Employer", employer );
// t.commit();
// s.close();
//
// Element dept = DocumentFactory.getInstance().createElement( "department" );
// dept.addAttribute( "name", "engineering" );
// Element steve = dept.addElement( "manager" ).addElement( "techie" );
// steve.addAttribute( "name", "Steve" );
// print( dept );
//
// s = openSession();
// t = s.beginTransaction();
// s.persist( "Department", dept );
// Long did = new Long( dept.attributeValue( "id" ) );
// t.commit();
// s.close();
//
// s = openSession();
// t = s.beginTransaction();
// dept = ( Element ) s.load( "Department", did );
// print( dept );
// s.delete( "Department", dept );
// t.commit();
// s.close();
// }
public void testCompositeId() throws Exception {
Element a = DocumentFactory.getInstance().createElement( "a" );
a.addAttribute("id", "1");
a.addElement("x").setText("foo bar");
//Element bs = a.addElement("bs");
Element b = a.addElement("b");
//b.addElement("bId").setText("1");
//b.addElement("aId").setText("1");
b.addAttribute("bId", "1");
b.addAttribute("aId", "1");
b.setText("foo foo");
b = a.addElement("b");
//b.addElement("bId").setText("2");
//b.addElement("aId").setText("1");
b.addAttribute("bId", "2");
b.addAttribute("aId", "1");
b.setText("bar bar");
Session s = openSession();
Transaction t = s.beginTransaction();
s.persist("A", a);
t.commit();
s.close();
s = openSession();
t = s.beginTransaction();
a = (Element) s.createCriteria("A").uniqueResult();
assertEquals( a.elements("b").size(), 2 );
print(a);
s.delete("A", a);
t.commit();
s.close();
}
public void testDom4j() throws Exception {
Element acct = DocumentFactory.getInstance().createElement( "account" );
acct.addAttribute( "id", "abc123" );
acct.addElement( "balance" ).setText( "123.45" );
Element cust = acct.addElement( "customer" );
cust.addAttribute( "id", "xyz123" );
Element foo1 = cust.addElement( "stuff" ).addElement( "foo" );
foo1.setText( "foo" );
foo1.addAttribute("bar", "x");
Element fo