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

📄 referencedcolumnnametest.java

📁 hibernate3.2.6源码和jar包
💻 JAVA
字号:
//$Id: ReferencedColumnNameTest.java 11282 2007-03-14 22:05:59Z epbernard $package org.hibernate.test.annotations.referencedcolumnname;import java.util.Iterator;import java.math.BigDecimal;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.test.annotations.TestCase;/** * @author Emmanuel Bernard */public class ReferencedColumnNameTest extends TestCase {	public void testManyToOne() throws Exception {		Session s;		Transaction tx;		s = openSession();		tx = s.beginTransaction();		Postman pm = new Postman( "Bob", "A01" );		House house = new House();		house.setPostman( pm );		house.setAddress( "Rue des pr閟" );		s.persist( pm );		s.persist( house );		tx.commit();		s.close();		s = openSession();		tx = s.beginTransaction();		house = (House) s.get( House.class, house.getId() );		assertNotNull( house.getPostman() );		assertEquals( "Bob", house.getPostman().getName() );		pm = house.getPostman();		s.delete( house );		s.delete( pm );		tx.commit();		s.close();	}	public void testOneToMany() throws Exception {		Session s;		Transaction tx;		s = openSession();		tx = s.beginTransaction();		Rambler rambler = new Rambler( "Emmanuel" );		Bag bag = new Bag( "0001", rambler );		rambler.getBags().add( bag );		s.persist( rambler );		tx.commit();		s.close();		s = openSession();		tx = s.beginTransaction();		bag = (Bag) s.createQuery( "select b from Bag b left join fetch b.owner" ).uniqueResult();		assertNotNull( bag );		assertNotNull( bag.getOwner() );		rambler = (Rambler) s.createQuery( "select r from Rambler r left join fetch r.bags" ).uniqueResult();		assertNotNull( rambler );		assertNotNull( rambler.getBags() );		assertEquals( 1, rambler.getBags().size() );		s.delete( rambler.getBags().iterator().next() );		s.delete( rambler );		tx.commit();		s.close();	}	public void testUnidirectionalOneToMany() throws Exception {		Session s;		Transaction tx;		s = openSession();		tx = s.beginTransaction();		Clothes clothes = new Clothes( "underwear", "interesting" );		Luggage luggage = new Luggage( "Emmanuel", "Cabin Luggage" );		luggage.getHasInside().add( clothes );		s.persist( luggage );		tx.commit();		s.close();		s = openSession();		tx = s.beginTransaction();		luggage = (Luggage) s.createQuery( "select l from Luggage l left join fetch l.hasInside" ).uniqueResult();		assertNotNull( luggage );		assertNotNull( luggage.getHasInside() );		assertEquals( 1, luggage.getHasInside().size() );		s.delete( luggage.getHasInside().iterator().next() );		s.delete( luggage );		tx.commit();		s.close();	}	public void testManyToMany() throws Exception {		Session s;		Transaction tx;		s = openSession();		tx = s.beginTransaction();		House whiteHouse = new House();		whiteHouse.setAddress( "1600 Pennsylvania Avenue, Washington" );		Inhabitant bill = new Inhabitant();		bill.setName( "Bill Clinton" );		Inhabitant george = new Inhabitant();		george.setName( "George W Bush" );		s.persist( george );		s.persist( bill );		whiteHouse.getHasInhabitants().add( bill );		whiteHouse.getHasInhabitants().add( george );		//bill.getLivesIn().add( whiteHouse );		//george.getLivesIn().add( whiteHouse );		s.persist( whiteHouse );		tx.commit();		s = openSession();		tx = s.beginTransaction();		whiteHouse = (House) s.get( House.class, whiteHouse.getId() );		assertNotNull( whiteHouse );		assertEquals( 2, whiteHouse.getHasInhabitants().size() );		tx.commit();		s.clear();		tx = s.beginTransaction();		bill = (Inhabitant) s.get( Inhabitant.class, bill.getId() );		assertNotNull( bill );		assertEquals( 1, bill.getLivesIn().size() );		assertEquals( whiteHouse.getAddress(), bill.getLivesIn().iterator().next().getAddress() );		whiteHouse = bill.getLivesIn().iterator().next();		s.delete( whiteHouse );		Iterator it = whiteHouse.getHasInhabitants().iterator();		while ( it.hasNext() ) {			s.delete( it.next() );		}		tx.commit();		s.close();	}	public void testManyToOneReferenceManyToOne() throws Exception {		Item item = new Item();		item.setId( 1 );		Vendor vendor = new Vendor();		vendor.setId( 1 );		ItemCost cost = new ItemCost();		cost.setCost( new BigDecimal(1) );		cost.setId( 1 );		cost.setItem( item );		cost.setVendor( vendor );		WarehouseItem wItem = new WarehouseItem();		wItem.setDefaultCost( cost );		wItem.setId( 1 );		wItem.setItem( item );		wItem.setQtyInStock( new BigDecimal(1) );		wItem.setVendor( vendor );		Session s = openSession( );		s.getTransaction().begin();		s.persist( item );		s.persist( vendor );		s.persist( cost );		s.persist( wItem );		s.flush();		s.clear();		wItem = (WarehouseItem) s.get(WarehouseItem.class, wItem.getId() );		assertNotNull( wItem.getDefaultCost().getItem() );		s.getTransaction().rollback();		s.close();	}	public ReferencedColumnNameTest(String x) {		super( x );	}	protected Class[] getMappings() {		return new Class[]{				House.class,				Postman.class,				Bag.class,				Rambler.class,				Luggage.class,				Clothes.class,				Inhabitant.class,				Item.class,				ItemCost.class,				Vendor.class,				WarehouseItem.class		};	}}

⌨️ 快捷键说明

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