⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configurationtest.java

📁 hibernate3.2.6源码和jar包
💻 JAVA
字号:
//$Id: ConfigurationTest.java 11282 2007-03-14 22:05:59Z epbernard $package org.hibernate.test.annotations;import org.hibernate.HibernateException;import org.hibernate.MappingException;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;import org.hibernate.cfg.Environment;/** * @author Emmanuel Bernard */public class ConfigurationTest extends junit.framework.TestCase {	public void testDeclarativeMix() throws Exception {		AnnotationConfiguration cfg = new AnnotationConfiguration();		cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );		cfg.setProperty( Environment.HBM2DDL_AUTO, "create-drop" );		SessionFactory sf = cfg.buildSessionFactory();		assertNotNull( sf );		Session s = sf.openSession();		Transaction tx = s.beginTransaction();		Query q = s.createQuery( "from Boat" );		assertEquals( 0, q.list().size() );		q = s.createQuery( "from Plane" );		assertEquals( 0, q.list().size() );		tx.commit();		s.close();		sf.close();	}	public void testIgnoringHbm() throws Exception {		AnnotationConfiguration cfg = new AnnotationConfiguration();		cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );		cfg.setProperty( Environment.HBM2DDL_AUTO, "create-drop" );		cfg.setProperty( AnnotationConfiguration.ARTEFACT, "class, whatever" );		SessionFactory sf = cfg.buildSessionFactory();		assertNotNull( sf );		Session s = sf.openSession();		Transaction tx = s.beginTransaction();		Query q;		try {			s.createQuery( "from Boat" ).list();			fail( "Boat should not be mapped" );		}		catch (HibernateException e) {			//all good		}		q = s.createQuery( "from Plane" );		assertEquals( 0, q.list().size() );		tx.commit();		s.close();		sf.close();	}	public void testPrecedenceHbm() throws Exception {		AnnotationConfiguration cfg = new AnnotationConfiguration();		cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );		cfg.setProperty( Environment.HBM2DDL_AUTO, "create-drop" );		cfg.addAnnotatedClass( Boat.class );		SessionFactory sf = cfg.buildSessionFactory();		assertNotNull( sf );		Session s = sf.openSession();		s.getTransaction().begin();		Boat boat = new Boat();		boat.setSize( 12 );		boat.setWeight( 34 );		s.persist( boat );		s.getTransaction().commit();		s.clear();		Transaction tx = s.beginTransaction();		boat = (Boat) s.get( Boat.class, boat.getId() );		assertTrue( "Annotation has precedence", 34 != boat.getWeight() );		s.delete( boat );		//s.getTransaction().commit();		tx.commit();		s.close();		sf.close();	}	public void testPrecedenceAnnotation() throws Exception {		AnnotationConfiguration cfg = new AnnotationConfiguration();		cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );		cfg.setProperty( Environment.HBM2DDL_AUTO, "create-drop" );		cfg.setProperty( AnnotationConfiguration.ARTEFACT, "class, hbm" );		cfg.addAnnotatedClass( Boat.class );		SessionFactory sf = cfg.buildSessionFactory();		assertNotNull( sf );		Session s = sf.openSession();		s.getTransaction().begin();		Boat boat = new Boat();		boat.setSize( 12 );		boat.setWeight( 34 );		s.persist( boat );		s.getTransaction().commit();		s.clear();		Transaction tx = s.beginTransaction();		boat = (Boat) s.get( Boat.class, boat.getId() );		assertTrue( "Annotation has precedence", 34 == boat.getWeight() );		s.delete( boat );		tx.commit();		s.close();		sf.close();	}	public void testDeclarativeAnnWoAnnConfig() throws Exception {		Configuration cfg = new Configuration();		try {			cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );			fail( "Configuration object should fail when finding annotated elements declarations" );		}		catch (MappingException e) {			//success		}	}	public void testHbmWithSubclassExtends() throws Exception {		AnnotationConfiguration cfg = new AnnotationConfiguration();		cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );		cfg.addClass( Ferry.class );		cfg.setProperty( Environment.HBM2DDL_AUTO, "create-drop" );		SessionFactory sf = cfg.buildSessionFactory();		assertNotNull( sf );		Session s = sf.openSession();		Transaction tx = s.beginTransaction();		Query q = s.createQuery( "from Ferry" );		assertEquals( 0, q.list().size() );		q = s.createQuery( "from Plane" );		assertEquals( 0, q.list().size() );		tx.commit();		s.close();		sf.close();	}	public void testAnnReferencesHbm() throws Exception {		AnnotationConfiguration cfg = new AnnotationConfiguration();		cfg.configure( "org/hibernate/test/annotations/hibernate.cfg.xml" );		cfg.addAnnotatedClass( Port.class );		cfg.setProperty( Environment.HBM2DDL_AUTO, "create-drop" );		SessionFactory sf = cfg.buildSessionFactory();		assertNotNull( sf );		Session s = sf.openSession();		Transaction tx = s.beginTransaction();		Query q = s.createQuery( "from Boat" );		assertEquals( 0, q.list().size() );		q = s.createQuery( "from Port" );		assertEquals( 0, q.list().size() );		tx.commit();		s.close();		sf.close();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -