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

📄 masterdetailtest.java

📁 人力资源管理系统主要包括:人员管理、招聘管理、培训管理、奖惩管理和薪金管理五大管理模块。
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
		assertTrue( !Hibernate.isInitialized( c.getSubcategories() ) );		c.setSubcategories(list2);		s = openSession();		t = s.beginTransaction();		s.update(c);		t.commit();		s.close();		s = openSession();		t = s.beginTransaction();		c = (Category) s.load( Category.class, new Long( c.getId() ), LockMode.UPGRADE );		assertTrue( c.getSubcategories().size()==1 );		s.delete(c);		t.commit();		s.close();	}		public void testCollectionReplace2() throws Exception {		Session s = openSession();		Transaction t = s.beginTransaction();		Category c = new Category();		List list = new ArrayList();		c.setSubcategories(list);		list.add( new Category() );		Category c2 = new Category();		s.save(c2);		s.save(c);		t.commit();		s.close();				s = openSession();		t = s.beginTransaction();		c = (Category) s.load( Category.class, new Long( c.getId() ), LockMode.UPGRADE );		List list2 = c.getSubcategories();		t.commit();		s.close();		s = openSession();		t = s.beginTransaction();		c2 = (Category) s.load( Category.class, new Long( c2.getId() ), LockMode.UPGRADE );		c2.setSubcategories(list2);		t.commit();		s.close();		s = openSession();		t = s.beginTransaction();		c2 = (Category) s.load( Category.class, new Long( c2.getId() ), LockMode.UPGRADE );		assertTrue( c2.getSubcategories().size()==1 );		s.delete(c2);		s.delete( s.load( Category.class, new Long( c.getId() ) ) );		t.commit();		s.close();	}		public void testCollectionReplace() throws Exception {		Session s = openSession();		Transaction t = s.beginTransaction();		Category c = new Category();		List list = new ArrayList();		c.setSubcategories(list);		list.add( new Category() );		s.save(c);		t.commit();		s.close();				s = openSession();		t = s.beginTransaction();		c = (Category) s.load( Category.class, new Long( c.getId() ), LockMode.UPGRADE );		c.setSubcategories(list);		t.commit();		s.close();		s = openSession();		t = s.beginTransaction();		c = (Category) s.load( Category.class, new Long( c.getId() ), LockMode.UPGRADE );		List list2 = c.getSubcategories();		t.commit();		s.close();				assertTrue( !Hibernate.isInitialized( c.getSubcategories() ) );		s = openSession();		t = s.beginTransaction();		c = (Category) s.load( Category.class, new Long( c.getId() ), LockMode.UPGRADE );		c.setSubcategories(list2);		t.commit();		s.close();		s = openSession();		t = s.beginTransaction();		c = (Category) s.load( Category.class, new Long( c.getId() ), LockMode.UPGRADE );		assertTrue( c.getSubcategories().size()==1 );		s.delete(c);		t.commit();		s.close();	}		public void testCategories() throws Exception {		Session s = openSession();		Category c = new Category();		c.setName(Category.ROOT_CATEGORY);		Category c1 = new Category();		Category c2 = new Category();		Category c3 = new Category();		c.getSubcategories().add(c1);		c.getSubcategories().add(c2);		c2.getSubcategories().add(null);		c2.getSubcategories().add(c3);		s.save(c);		s.flush();		s.connection().commit();		s.close();				s = openSession();		s.lock(c, LockMode.UPGRADE);		Category loaded = (Category) s.load( Category.class, new Long( c3.getId() ) );		assertTrue(loaded==c3);		assertTrue( s.getCurrentLockMode(c3)==LockMode.UPGRADE );		assertTrue( s.getCurrentLockMode(c)==LockMode.UPGRADE );		s.flush();		s.connection().commit();		s.close();		s = openSession();		loaded = (Category) s.load( Category.class, new Long( c.getId() ) );		assertFalse( Hibernate.isInitialized( loaded.getSubcategories() ) );		s.connection().commit();		s.close();		s = openSession();		s.lock(loaded, LockMode.NONE);		assertTrue( loaded.getSubcategories().size()==2 );		s.connection().commit();		s.close();						s = openSession();		c = (Category) s.load( Category.class, new Long( c.getId() ) );		System.out.println( c.getSubcategories() );		assertTrue( c.getSubcategories().get(0)!=null && c.getSubcategories().get(1)!=null );		List list = ( (Category) c.getSubcategories().get(1) ).getSubcategories();		assertTrue( list.get(1)!=null && list.get(0)==null );				assertTrue(			s.iterate("from c in class Category where c.name = org.hibernate.test.Category.ROOT_CATEGORY").hasNext()		);		s.connection().commit();		s.close();			}		public void testCollectionRefresh() throws Exception {		Session s = openSession();		Category c = new Category();		List list = new ArrayList();		c.setSubcategories(list);		list.add( new Category() );		c.setName("root");		Serializable id = s.save(c);		s.flush();		s.connection().commit();		s.close();		s = openSession();		c = (Category) s.load(Category.class, id);		s.refresh(c);		s.flush();		assertTrue( c.getSubcategories().size()==1 );		s.flush();		s.connection().commit();		s.close();		s = openSession();		c = (Category) s.load(Category.class, id);		assertTrue( c.getSubcategories().size()==1 );		s.delete(c);		s.flush();		s.connection().commit();		s.close();	}		public void testCachedCollectionRefresh() throws Exception {		Session s = openSession();		Category c = new Category();		List list = new ArrayList();		c.setSubcategories(list);		list.add( new Category() );		c.setName("root");		Serializable id = s.save(c);		s.flush();		s.connection().commit();		s.close();				s = openSession();		c = (Category) s.load(Category.class, id);		c.getSubcategories().size(); //force load				Session ss = openSession();		Category c2 = (Category) ss.load(Category.class, id);		ss.delete( c2.getSubcategories().get(0) );		c2.getSubcategories().clear();		ss.flush();		ss.connection().commit();		ss.close();				s.refresh(c);		assertTrue( c.getSubcategories().size()==0 );		ss = openSession();		c2 = (Category) ss.load(Category.class, id);		c2.getSubcategories().add( new Category() );		c2.getSubcategories().add( new Category() );		ss.flush();		ss.connection().commit();		ss.close();				s.refresh(c);		assertTrue( c.getSubcategories().size()==2 );		s.flush();		s.connection().commit();		s.close();				s = openSession();		c = (Category) s.load(Category.class, id);		assertTrue( c.getSubcategories().size()==2 );		s.delete(c);		s.flush();		s.connection().commit();		s.close();	}		public void testCustomPersister() throws Exception {		Session s = openSession();		Custom c = new Custom();		c.name = "foo";		c.id=100;		Long id = (Long) s.save(c);		assertTrue( c==s.load(Custom.class, id) );		s.flush();		s.close();		s = openSession();		c = (Custom) s.load(Custom.class, id);		assertTrue( c.name.equals("foo") );		c.name = "bar";		s.flush();		s.close();		s = openSession();		c = (Custom) s.load(Custom.class, id);		assertTrue( c.name.equals("bar") );		s.delete(c);		s.flush();		s.close();		s = openSession();		boolean none = false;		try {			s.load(Custom.class, id);		}		catch (ObjectNotFoundException onfe) {			none=true;		}		assertTrue(none);		s.close();			}		public void testInterface() throws Exception {		Session s = openSession();		Serializable id = s.save( new BasicNameable() );		s.flush();		s.connection().commit();		s.close();		s = openSession();		Nameable n = (Nameable) s.load(Nameable.class, id);		s.delete(n);		s.flush();		s.connection().commit();		s.close();	}		public void testNoUpdateManyToOne() throws Exception {		Session s = openSession();		W w1 = new W();		W w2 = new W();		Z z = new Z();		z.setW(w1);		s.save(z);		s.flush();		z.setW(w2);		s.flush();		s.connection().commit();		s.close();				s = openSession();		s.update(z);		s.flush();		s.connection().commit();		s.close();	}		public void testQueuedBagAdds() throws Exception {		Session s = openSession();		Assignable a = new Assignable();		a.setId("foo");		a.setCategories( new ArrayList() );		Category c = new Category();		c.setAssignable(a);		a.getCategories().add(c);		s.save(a);		s.flush();		s.connection().commit();		s.close();				getSessions().evictCollection("org.hibernate.test.Assignable.categories");		s = openSession();		a = (Assignable) s.get(Assignable.class, "foo");		c = new Category();		c.setAssignable(a);		a.getCategories().add(c);		assertFalse( Hibernate.isInitialized( a.getCategories() ) );		assertTrue( a.getCategories().size()==2 );		s.flush();		s.connection().commit();		s.close();				getSessions().evictCollection("org.hibernate.test.Assignable.categories");				s = openSession();		a = (Assignable) s.get(Assignable.class, "foo");		c = new Category();		c.setAssignable(a);		a.getCategories().add(c);		assertFalse( Hibernate.isInitialized( a.getCategories() ) );		s.flush();		assertFalse( Hibernate.isInitialized( a.getCategories() ) );		assertTrue( a.getCategories().size()==3 );		s.connection().commit();		s.close();		getSessions().evictCollection("org.hibernate.test.Assignable.categories");		s = openSession();		a = (Assignable) s.get(Assignable.class, "foo");		assertTrue( a.getCategories().size()==3 );		s.delete(a);		s.flush();		s.connection().commit();		s.close();			}	public String[] getMappings() {		return new String[] {			"MasterDetail.hbm.xml",			"Custom.hbm.xml",			"Category.hbm.xml",			"Nameable.hbm.xml",			"SingleSeveral.hbm.xml",			"WZ.hbm.xml",			"UpDown.hbm.xml",			"Eye.hbm.xml"		};	}		public static Test suite() {		return new TestSuite(MasterDetailTest.class);	}	public static void main(String[] args) throws Exception {		TestRunner.run( suite() );	}}

⌨️ 快捷键说明

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