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

📄 subclasstest.java

📁 hibernate方便的操作数据库相当不错的 请各位下载看看啊
💻 JAVA
字号:
//$Id: SubclassTest.java,v 1.2 2005/02/25 12:44:44 maxcsaucdk Exp $package org.hibernate.test.metadata.inheritance;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.test.metadata.TestCase;import org.hibernate.test.metadata.Plane;import org.hibernate.test.metadata.A320;import org.hibernate.test.metadata.A320b;/** * @author Emmanuel Bernard */public class SubclassTest extends TestCase {	public SubclassTest(String x) {		super(x);	}		public void testPolymorphism() throws Exception {		Session s = openSession();		Transaction tx = s.beginTransaction();		Plane p = new Plane();		p.setNbrofSeats(10);		A320 a = new A320();		a.setJavaEmbeddedVersion("5.0");		a.setNbrofSeats(300);		s.persist(a);		s.persist(p);		tx.commit();		s.close();				s = openSession();		tx = s.beginTransaction();		Query q = s.createQuery("from " + A320.class.getName() );		List a320s = q.list();		assertNotNull(a320s);		assertEquals( 1, a320s.size() );		assertTrue(a320s.get(0) instanceof A320);		assertEquals( "5.0", ( (A320) a320s.get(0) ).getJavaEmbeddedVersion());		q = s.createQuery("from " + Plane.class.getName() );		List planes = q.list();		assertNotNull(planes);		assertEquals( 2, planes.size() );		tx.commit();		s.close();	}	public void test2ndLevelSubClass() throws Exception {		Session s = openSession();		Transaction tx = s.beginTransaction();		A320b a = new A320b();		a.setJavaEmbeddedVersion("Elephant");		a.setNbrofSeats(300);		s.persist(a);		tx.commit();		s.close();				s = openSession();		tx = s.beginTransaction();		Query q = s.createQuery("from " + A320.class.getName() + " as a where a.javaEmbeddedVersion = :version");		q.setString("version", "Elephant");		List a320s = q.list();		assertNotNull(a320s);		assertEquals( 1, a320s.size() );		tx.commit();		s.close();	}		public void testInheritedAttributes() throws Exception {		Session s = openSession();		Transaction tx = s.beginTransaction();		Plane p = new Plane();		p.setAltitude(10000);		p.setMetricAltitude(3000);		p.setNbrofSeats(150);		s.persist(p);		tx.commit();		s.close();				s = openSession();		tx = s.beginTransaction();		p = (Plane) s.get( Plane.class, p.getId() );		assertNotNull(p);		assertEquals( 150, p.getNbrofSeats() );		assertEquals( 10000, p.getAltitude() );		assertFalse( 3000 == p.getMetricAltitude() );		tx.commit();		s.close();	}	public void testDefault() throws Exception {		Session s;		Transaction tx;		s = openSession();		tx = s.beginTransaction();		Fruit f = new Fruit();		Apple a = new Apple();		s.persist(f);		s.persist(a);		tx.commit();		s.close();		s = openSession();		tx = s.beginTransaction();		List result = s.createCriteria(Fruit.class).list();		assertNotNull(result);		assertEquals( 2, result.size() );		Fruit f2 = (Fruit) result.get(0);		checkClassType(f2, f, a);		f2 = (Fruit) result.get(1);		checkClassType(f2, f, a);		tx.commit();		s.close();	}	private void checkClassType(Fruit fruitToTest, Fruit f, Apple a) {		if ( fruitToTest.getId().equals( f.getId() ) ) {			assertFalse(fruitToTest instanceof Apple);		} else if ( fruitToTest.getId().equals( a.getId() ) ) {			assertTrue(fruitToTest instanceof Apple);		} else {			fail("Result does not contains the previously inserted elements");		}	}	/**	 * @see org.hibernate.test.metadata.TestCase#getMappings()	 */	protected Class[] getMappings() {		return new Class[] {			Plane.class,			A320.class,			A320b.class,			Fruit.class,			Apple.class		};	}}

⌨️ 快捷键说明

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