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

📄 fumtest.java

📁 人力资源管理系统主要包括:人员管理、招聘管理、培训管理、奖惩管理和薪金管理五大管理模块。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
//$Id: FumTest.java,v 1.1.2.10 2004/02/04 20:36:34 oneovthafew Exp $package org.hibernate.test;import java.io.Serializable;import java.util.ArrayList;import java.util.Date;import java.util.GregorianCalendar;import java.util.HashSet;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;import junit.framework.Test;import junit.framework.TestSuite;import junit.textui.TestRunner;import net.sf.hibernate.Criteria;import net.sf.hibernate.FetchMode;import net.sf.hibernate.Hibernate;import net.sf.hibernate.LockMode;import net.sf.hibernate.Query;import net.sf.hibernate.Session;import net.sf.hibernate.dialect.HSQLDialect;import net.sf.hibernate.dialect.MckoiDialect;import net.sf.hibernate.dialect.MySQLDialect;import net.sf.hibernate.dialect.PointbaseDialect;import net.sf.hibernate.dialect.SQLServerDialect;import net.sf.hibernate.expression.Expression;import net.sf.hibernate.expression.MatchMode;import net.sf.hibernate.type.DateType;import net.sf.hibernate.type.EntityType;import net.sf.hibernate.type.StringType;import net.sf.hibernate.type.Type;public class FumTest extends TestCase {		private static short fumKeyShort = 1;		public FumTest(String arg) {		super(arg);	}		public void testCriteriaCollection() throws Exception {		if ( getDialect() instanceof HSQLDialect ) return;		if ( getDialect() instanceof SQLServerDialect ) return;		Session s = openSession();		Fum fum = new Fum( fumKey("fum") );		fum.setFum("a value");		fum.getMapComponent().getFummap().put("self", fum);		fum.getMapComponent().getStringmap().put("string", "a staring");		fum.getMapComponent().getStringmap().put("string2", "a notha staring");		fum.getMapComponent().setCount(1);		s.save(fum);		s.flush();		s.connection().commit();		s.close();		s = openSession();		Fum b = (Fum) s.createCriteria(Fum.class).add( 			Expression.in("fum", new String[] { "a value", "no value" } )		)		.uniqueResult();		//assertTrue( Hibernate.isInitialized( b.getMapComponent().getFummap() ) );		assertTrue( Hibernate.isInitialized( b.getMapComponent().getStringmap() ) );		assertTrue( b.getMapComponent().getFummap().size()==1 );		assertTrue( b.getMapComponent().getStringmap().size()==2 );				/*int none = s.createCriteria(Fum.class).add( 			Expression.in( "fum", new String[0] )		).list().size();		assertTrue(none==0);*/		s.delete(b);		s.flush();		s.connection().commit();		s.close();	}		public void testCriteria() throws Exception {		if ( getDialect() instanceof SQLServerDialect ) return;		Session s = openSession();		Fum fum = new Fum( fumKey("fum") );		fum.setFo( new Fum( fumKey("fo") ) );		fum.setFum("fo fee fi");		fum.getFo().setFum("stuff");		Fum fr = new Fum( fumKey("fr") );		fr.setFum("goo");		Fum fr2 = new Fum( fumKey("fr2") );		fr2.setFum("soo");		fum.setFriends( new HashSet() );		fum.getFriends().add(fr);		fum.getFriends().add(fr2);		s.save(fr);		s.save(fr2);		s.save( fum.getFo() );		s.save(fum);		Criteria base = s.createCriteria(Fum.class)			.add( Expression.like("fum", "f", MatchMode.START) );		base.createCriteria("fo")			.add( Expression.isNotNull("fum") );		base.createCriteria("friends")			.add( Expression.like("fum", "g%") );		List list = base.list();		assertTrue( list.size()==1 && list.get(0)==fum );		base = s.createCriteria(Fum.class)			.add( Expression.like("fum", "f%") )			.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);		base.createCriteria("fo", "fo")			.add( Expression.isNotNull("fum") );		base.createCriteria("friends", "fum")			.add( Expression.like("fum", "g", MatchMode.START) );		Map map = (Map) base.uniqueResult();				assertTrue( 			map.get("this")==fum && 			map.get("fo")==fum.getFo() && 			fum.getFriends().contains( map.get("fum") ) &&			map.size()==3		);		base = s.createCriteria(Fum.class)			.add( Expression.like("fum", "f%") )			.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)			.setFetchMode("friends", FetchMode.EAGER);		base.createCriteria("fo", "fo")			.add( Expression.eq( "fum", fum.getFo().getFum() ) );		map = (Map) base.list().get(0);				assertTrue( 			map.get("this")==fum && 			map.get("fo")==fum.getFo() &&			map.size()==2		);		list = s.createCriteria(Fum.class)			.createAlias("friends", "fr")			.createAlias("fo", "fo")			.add( Expression.like("fum", "f%") )			.add( Expression.isNotNull("fo") )			.add( Expression.isNotNull("fo.fum") )			.add( Expression.like("fr.fum", "g%") )			.add( Expression.eqProperty("fr.id.short", "id.short") )			.list();		assertTrue( list.size()==1 && list.get(0)==fum );		s.flush();		s.connection().commit();		s.close();		s = openSession();		base = s.createCriteria(Fum.class)			.add( Expression.like("fum", "f%") );		base.createCriteria("fo")			.add( Expression.isNotNull("fum") );		base.createCriteria("friends")			.add( Expression.like("fum", "g%") );		fum = (Fum) base.list().get(0);		assertTrue(  fum.getFriends().size()==2 );		s.delete(fum);		s.delete( fum.getFo() );		Iterator iter = fum.getFriends().iterator();		while ( iter.hasNext() ) s.delete( iter.next() );		s.flush();		s.connection().commit();		s.close();	}				public void testListIdentifiers() throws Exception {		if ( getDialect() instanceof SQLServerDialect ) return;		Session s = openSession();		Fum fum = new Fum( fumKey("fum") );		fum.setFum("fo fee fi");		s.save(fum);		fum = new Fum( fumKey("fi") );		fum.setFum("fee fi fo");		s.save(fum);		List list = s.find("select fum.id from fum in class Fum where not fum.fum='FRIEND'");		assertTrue( "list identifiers", list.size()==2);		Iterator iter = s.iterate("select fum.id from fum in class Fum where not fum.fum='FRIEND'");		int i=0;		while ( iter.hasNext() ) {			assertTrue( "iterate identifiers",  iter.next() instanceof FumCompositeID);			i++;		}		assertTrue(i==2);				s.delete( s.load(Fum.class, (Serializable) list.get(0) ) );		s.delete( s.load(Fum.class, (Serializable) list.get(1) ) );		s.flush();		s.connection().commit();		s.close();	}			public FumCompositeID fumKey(String str) {				return fumKey(str,false);	}		private FumCompositeID fumKey(String str, boolean aCompositeQueryTest) {		FumCompositeID id = new FumCompositeID();		if ( getDialect() instanceof MckoiDialect ) {			GregorianCalendar now = new GregorianCalendar();			GregorianCalendar cal = new GregorianCalendar( 				now.get(java.util.Calendar.YEAR),				now.get(java.util.Calendar.MONTH),				now.get(java.util.Calendar.DATE) 			);			id.setDate( cal.getTime() );		}		else {			id.setDate( new Date() );		}		id.setString( new String(str) );				if (aCompositeQueryTest) {			id.setShort( fumKeyShort++ );		}		else {			id.setShort( (short) 12 );		}				return id;	}		public void testCompositeID() throws Exception {		if ( getDialect() instanceof SQLServerDialect ) return;		if ( getDialect() instanceof HSQLDialect ) return;		Session s = openSession();		Fum fum = new Fum( fumKey("fum") );		fum.setFum("fee fi fo");		s.save(fum);		assertTrue( "load by composite key", fum==s.load( Fum.class, fumKey("fum") ) );		s.flush();		s.connection().commit();		s.close();				s = openSession();		fum = (Fum) s.load( Fum.class, fumKey("fum"), LockMode.UPGRADE );		assertTrue( "load by composite key", fum!=null );				Fum fum2 = new Fum( fumKey("fi") );		fum2.setFum("fee fo fi");		fum.setFo(fum2);		s.save(fum2);		assertTrue(			"find composite keyed objects",			s.find("from fum in class Fum where not fum.fum='FRIEND'").size()==2		);		assertTrue(			"find composite keyed object",			s.find("select fum from fum in class Fum where fum.fum='fee fi fo'").get(0)==fum		);		fum.setFo(null);		s.flush();		s.connection().commit();		s.close();				s = openSession();		Iterator iter = s.iterate("from fum in class Fum where not fum.fum='FRIEND'");		int i = 0;		while ( iter.hasNext() ) {			fum = (Fum) iter.next();			//iter.remove();			s.delete(fum);			i++;		}		assertTrue( "iterate on composite key", i==2 );		s.flush();		s.connection().commit();		s.close();	}		public void testCompositeIDOneToOne() throws Exception {		if ( getDialect() instanceof SQLServerDialect ) return;		if ( getDialect() instanceof HSQLDialect ) return;		Session s = openSession();		Fum fum = new Fum( fumKey("fum") );		fum.setFum("fee fi fo");		//s.save(fum);		Fumm fumm = new Fumm();		fumm.setFum(fum);		s.save(fumm);		s.flush();		s.connection().commit();		s.close();		s = openSession();		fumm = (Fumm) s.load( Fumm.class, fumKey("fum") );		//s.delete( fumm.getFum() );		s.delete(fumm);		s.flush();		s.connection().commit();		s.close();	}		public void testCompositeIDQuery() throws Exception {		if ( getDialect() instanceof SQLServerDialect ) return;		if ( getDialect() instanceof HSQLDialect ) return;		Session s = openSession();		Fum fee = new Fum( fumKey("fee",true) );		fee.setFum("fee");		s.save(fee);		Fum fi = new Fum( fumKey("fi",true) );		fi.setFum("fi");		short fiShort = fi.getId().getShort();		s.save(fi);		Fum fo = new Fum( fumKey("fo",true) );		fo.setFum("fo");		s.save(fo);		Fum fum = new Fum( fumKey("fum",true) );		fum.setFum("fum");		s.save(fum);		s.flush();		s.connection().commit();		s.close();				s = openSession();		// Try to find the Fum object "fo" that we inserted searching by the string in the id		List vList = s.find("from fum in class Fum where fum.id.string='fo'"  );		assertTrue( "find by composite key query (find fo object)", vList.size() == 1 );		fum = (Fum)vList.get(0);		assertTrue( "find by composite key query (check fo object)", fum.getId().getString().equals("fo") );				// Try to find the Fum object "fi" that we inserted searching by the date in the id

⌨️ 快捷键说明

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