类org.hibernate.classic.Session源码实例Demo

下面列出了怎么用org.hibernate.classic.Session的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cacheonix-core   文件: FooBarTest.java
public void testCollectionCache() throws Exception {
	Session s = openSession();
	Baz baz = new Baz();
	baz.setDefaults();
	s.save(baz);
	s.flush();
	s.connection().commit();
	s.close();

	s = openSession();
	s.load( Baz.class, baz.getCode() );
	s.flush();
	s.connection().commit();
	s.close();

	s = openSession();
	baz = (Baz) s.load( Baz.class, baz.getCode() );
	s.delete(baz);
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码2 项目: LibrarySystem   文件: TestReader.java
@Test
public void testSaveReader2(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();
	
	Reader reader = new Reader();
	reader.setName("菜肉");
	reader.setPwd("123");
	ReaderType readerType = new ReaderType();
	readerType.setReaderTypeId(1);
	reader.setReaderType(readerType);
	

	
	session.save(reader);
	transaction.commit();
	session.close();
}
 
源代码3 项目: cacheonix-core   文件: FooBarTest.java
public void testLateCollectionAdd() throws Exception {
	Session s = openSession();
	Baz baz = new Baz();
	List l = new ArrayList();
	baz.setStringList(l);
	l.add("foo");
	Serializable id = s.save(baz);
	l.add("bar");
	s.flush();
	l.add("baz");
	s.flush();
	s.connection().commit();
	s.close();

	s = openSession();
	baz = (Baz) s.load(Baz.class, id);
	assertTrue( baz.getStringList().size()==3 && baz.getStringList().contains("bar") );
	s.delete(baz);
	s.flush();
	s.connection().commit();
	s.close();

}
 
源代码4 项目: LibrarySystem   文件: TestBookType.java
@Test
	public void testUpdateBook(){
		SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
		Session session = sessionFactory.openSession();
		Transaction transaction = session.beginTransaction();
		String hql= "from BookType";
		List createQuery = session.createQuery(hql).list();
		BookType bookType = (BookType) createQuery.get(0);
		System.out.println(bookType);
//		Set<Book> books = bookType.getBooks();
//		for(Book book : books){
//			book.setState(0);
//		}
		session.update(bookType);
		transaction.commit();
		session.close();
	}
 
源代码5 项目: cacheonix-core   文件: FooBarTest.java
public void testManyToManyBag() throws Exception {

		Session s = openSession();
		Baz baz = new Baz();
		Serializable id = s.save(baz);
		s.flush();
		s.connection().commit();
		s.close();

		s = openSession();
		baz = (Baz) s.load(Baz.class, id);
		baz.getFooBag().add( new Foo() );
		s.flush();
		s.connection().commit();
		s.close();

		s = openSession();
		baz = (Baz) s.load(Baz.class, id);
		assertTrue( !Hibernate.isInitialized( baz.getFooBag() ) );
		assertTrue( baz.getFooBag().size()==1 );
		if ( !(getDialect() instanceof HSQLDialect) ) assertTrue( Hibernate.isInitialized( baz.getFooBag().iterator().next() ) );
		s.delete(baz);
		s.flush();
		s.connection().commit();
		s.close();
	}
 
源代码6 项目: cacheonix-core   文件: FooBarTest.java
public void testRemoveContains() throws Exception {
	Session s = openSession();
	Baz baz = new Baz();
	baz.setDefaults();
	s.save(baz);
	s.flush();
	assertTrue( s.contains(baz) );
	s.evict(baz);
	assertFalse( s.contains(baz) );
	Baz baz2 = (Baz) s.load( Baz.class, baz.getCode() );
	assertFalse(baz==baz2);
	s.delete(baz2);
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码7 项目: OnLineTest   文件: TestChoice.java
@Test
public void testSaveChoice(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();
	Subject subject = (Subject) session.get(Subject.class, 1);
	Choice choice = new Choice();
	choice.setAnswer("A");
	choice.setQuestion("下列选项正确的是:");
	choice.setOptionA("选择A");
	choice.setOptionB("选择B");
	choice.setOptionC("选择C");
	choice.setOptionD("选择D");
	choice.setSubject(subject);
	session.save(choice);
	transaction.commit();
	session.close();
}
 
源代码8 项目: gocd   文件: PipelineSqlMapDaoCachingTest.java
@Before
public void setup() throws Exception {
    transactionSynchronizationManager = mock(TransactionSynchronizationManager.class);
    goCache = new StubGoCache(new TestTransactionSynchronizationManager());
    goCache.clear();
    mockTemplate = mock(SqlMapClientTemplate.class);
    repository = mock(MaterialRepository.class);
    environmentVariableDao = mock(EnvironmentVariableDao.class);
    SessionFactory mockSessionFactory = mock(SessionFactory.class);
    repository = mock(MaterialRepository.class);
    transactionTemplate = mock(TransactionTemplate.class);
    GoConfigDao configFileDao = mock(GoConfigDao.class);
    timeProvider = mock(TimeProvider.class);
    pipelineDao = new PipelineSqlMapDao(null, repository, goCache, environmentVariableDao, transactionTemplate, null,
            transactionSynchronizationManager, null, configFileDao, mock(Database.class), timeProvider);
    pipelineDao.setSqlMapClientTemplate(mockTemplate);
    Session session = mock(Session.class);
    when(mockSessionFactory.getCurrentSession()).thenReturn(session);
    when(configFileDao.load()).thenReturn(GoConfigMother.defaultCruiseConfig());
}
 
源代码9 项目: cacheonix-core   文件: MasterDetailTest.java
public void testPolymorphicCriteria() throws Exception {
	Session s = openSession();
	Transaction txn = s.beginTransaction();
	Category f = new Category();
	Single b = new Single();
	b.setId("asdfa");
	b.setString("asdfasdf");
	s.save(f);
	s.save(b);
	List list = s.createCriteria(Object.class).list();
	assertTrue( list.size()==2 );
	assertTrue( list.contains(f) && list.contains(b) );
	s.delete(f);
	s.delete(b);
	txn.commit();
	s.close();
}
 
源代码10 项目: cacheonix-core   文件: FumTest.java
private Session spoofSerialization(Session session) throws IOException {
	try {
		// Serialize the incoming out to memory
		ByteArrayOutputStream serBaOut = new ByteArrayOutputStream();
		ObjectOutputStream serOut = new ObjectOutputStream(serBaOut);

		serOut.writeObject(session);

		// Now, re-constitute the model from memory
		ByteArrayInputStream serBaIn =
		        new ByteArrayInputStream(serBaOut.toByteArray());
		ObjectInputStream serIn = new ObjectInputStream(serBaIn);

		Session outgoing = (Session) serIn.readObject();

		return outgoing;
	}
	catch (ClassNotFoundException cnfe) {
		throw new IOException("Unable to locate class on reconstruction");
	}
}
 
源代码11 项目: cacheonix-core   文件: FooBarTest.java
public void testObjectType() throws Exception {
	Session s = openSession();
	GlarchProxy g = new Glarch();
	Foo foo = new Foo();
	g.setAny(foo);
	Serializable gid = s.save(g);
	s.save(foo);
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	g = (GlarchProxy) s.load(Glarch.class, gid);
	assertTrue( g.getAny()!=null && g.getAny() instanceof FooProxy );
	s.delete( g.getAny() );
	s.delete(g);
	//s.delete( g.getAny() );
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码12 项目: cacheonix-core   文件: ParentChildTest.java
public void testQueryOneToOne() throws Exception {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Serializable id = s.save( new Parent() );
	assertTrue( s.find("from Parent p left join fetch p.child").size()==1 );
	t.commit();
	s.close();

	s = openSession();
	t = s.beginTransaction();
	Parent p = (Parent) s.createQuery("from Parent p left join fetch p.child").uniqueResult();
	assertTrue( p.getChild()==null );
	s.find("from Parent p join p.child c where c.x > 0");
	s.find("from Child c join c.parent p where p.x > 0");
	t.commit();
	s.close();

	s = openSession();
	t = s.beginTransaction();
	s.delete( s.get(Parent.class, id) );
	t.commit();
	s.close();
}
 
源代码13 项目: cacheonix-core   文件: MultiTableTest.java
public void testJoins() throws Exception {
	Session s = openSession();
	s.find("from Lower l join l.yetanother l2 where lower(l2.name) > 'a'");
	s.find("from Lower l where lower(l.yetanother.top.name) > 'a'");
	s.find("from SubMulti sm join sm.children smc where smc.name > 'a'");
	s.find("select s, ya from Lower s join s.yetanother ya");
	s.find("from Lower s1 join s1.bag s2");
	s.find("from Lower s1 left join s1.bag s2");
	s.find("select s, a from Lower s join s.another a");
	s.find("select s, a from Lower s left join s.another a");
	s.find("from Top s, Lower ls");
	s.find("from Lower ls join ls.set s where s.name > 'a'");
	s.find("from Po po join po.list sm where sm.name > 'a'");
	s.find("from Lower ls inner join ls.another s where s.name is not null");
	s.find("from Lower ls where ls.other.another.name is not null");
	s.find("from Multi m where m.derived like 'F%'");
	s.find("from SubMulti m where m.derived like 'F%'");
	s.connection().commit();
	s.close();
}
 
@Test
public void testExecuteWithNewSession() throws HibernateException {
	assertTrue("Correct allowCreate default", hibernateTemplate.isAllowCreate());
	assertTrue("Correct flushMode default", hibernateTemplate.getFlushMode() == HibernateTemplate.FLUSH_AUTO);
	final List l = new ArrayList();
	l.add("test");
	List result = hibernateTemplate.executeFind(new HibernateCallback<Object>() {
		@Override
		public Object doInHibernate(org.hibernate.Session session) throws HibernateException {
			return l;
		}
	});
	assertTrue("Correct result list", result == l);
	verify(session).flush();
	verify(session).close();
}
 
@Test
public void testExecuteWithNotAllowCreate() {
	reset(sessionFactory);
	given(sessionFactory.getCurrentSession()).willThrow(new HibernateException(""));
	HibernateTemplate ht = new HibernateTemplate();
	ht.setSessionFactory(sessionFactory);
	ht.setAllowCreate(false);
	try {
		ht.execute(new HibernateCallback<Object>() {
			@Override
			public Object doInHibernate(org.hibernate.Session session) throws HibernateException {
				return null;
			}
		});
		fail("Should have thrown DataAccessException");
	}
	catch (DataAccessResourceFailureException ex) {
		// expected
	}
}
 
源代码16 项目: cacheonix-core   文件: BulkManipulationTest.java
public void testIncrementCounterVersion() {
	Session s = openSession();
	Transaction t = s.beginTransaction();

	IntegerVersioned entity = new IntegerVersioned( "int-vers" );
	s.save( entity );
	t.commit();
	s.close();

	int initialVersion = entity.getVersion();

	s = openSession();
	t = s.beginTransaction();
	int count = s.createQuery( "update versioned IntegerVersioned set name = name" ).executeUpdate();
	assertEquals( "incorrect exec count", 1, count );
	t.commit();

	t = s.beginTransaction();
	entity = ( IntegerVersioned ) s.load( IntegerVersioned.class, entity.getId() );
	assertEquals( "version not incremented", initialVersion + 1, entity.getVersion() );

	s.delete( entity );
	t.commit();
	s.close();
}
 
@Test
public void testOpenSessionInViewInterceptorWithSingleSessionAndFlush() throws Exception {
	SessionFactory sf = mock(SessionFactory.class);
	Session session = mock(Session.class);

	OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor();
	interceptor.setSessionFactory(sf);
	interceptor.setFlushMode(HibernateAccessor.FLUSH_AUTO);

	given(sf.openSession()).willReturn(session);
	given(session.getSessionFactory()).willReturn(sf);
	interceptor.preHandle(this.webRequest);
	assertTrue(TransactionSynchronizationManager.hasResource(sf));

	interceptor.postHandle(this.webRequest, null);
	assertTrue(TransactionSynchronizationManager.hasResource(sf));

	interceptor.afterCompletion(this.webRequest, null);
	assertFalse(TransactionSynchronizationManager.hasResource(sf));
	verify(session).flush();
	verify(session).close();
}
 
源代码18 项目: cacheonix-core   文件: MasterDetailTest.java
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.delete(z);
	s.delete("from W");
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码19 项目: cacheonix-core   文件: FooBarTest.java
public void testFindLoad() throws Exception {
	Session s = openSession();
	FooProxy foo = new Foo();
	s.save(foo);
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	foo = (FooProxy) s.find("from Foo foo").get(0);
	FooProxy foo2 = (FooProxy) s.load( Foo.class, foo.getKey() );
	assertTrue("find returns same object as load", foo==foo2);
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	foo2 = (FooProxy) s.load( Foo.class, foo.getKey() );
	foo = (FooProxy) s.find("from Foo foo").get(0);
	assertTrue("find returns same object as load", foo==foo2);
	s.delete("from Foo foo");
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码20 项目: cacheonix-core   文件: FooBarTest.java
public void testSerializableType() throws Exception {
	Session s = openSession();
	Vetoer v = new Vetoer();
	v.setStrings( new String[] { "foo", "bar", "baz" } );
	s.save(v); Serializable id = s.save(v);
	v.getStrings()[1] = "osama";
	s.flush();
	s.connection().commit();
	s.close();
	s = openSession();
	v = (Vetoer) s.load(Vetoer.class, id);
	assertTrue( "serializable type", v.getStrings()[1].equals("osama") );
	s.delete(v); s.delete(v);
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码21 项目: cacheonix-core   文件: FumTest.java
public void testCompositeIDOneToOne() throws Exception {
	Session s = openSession();
	Transaction txn = s.beginTransaction();
	Fum fum = new Fum( fumKey("fum") );
	fum.setFum("fee fi fo");
	//s.save(fum);
	Fumm fumm = new Fumm();
	fumm.setFum(fum);
	s.save(fumm);
	txn.commit();
	s.close();

	s = openSession();
	txn = s.beginTransaction();
	fumm = (Fumm) s.load( Fumm.class, fumKey("fum") );
	//s.delete( fumm.getFum() );
	s.delete(fumm);
	txn.commit();
	s.close();
}
 
源代码22 项目: lams   文件: SpringSessionContext.java
/**
 * Retrieve the Spring-managed Session for the current thread, if any.
 */
@Override
public Session currentSession() throws HibernateException {
	try {
		return (org.hibernate.classic.Session) SessionFactoryUtils.doGetSession(this.sessionFactory, false);
	}
	catch (IllegalStateException ex) {
		throw new HibernateException(ex.getMessage());
	}
}
 
源代码23 项目: LibrarySystem   文件: TestBack.java
@Test
public void testGetBack2(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	List list = session.createSQLQuery("select ba.borrowId from BackInfo ba ,BorrowInfo bo,Book bk,Reader r "
+"where ba.borrowId=bo.borrowId and Bk.bookId=Bo.bookId and bo.readerId=r.readerId "
	+"and bk.ISBN like '%1%' and r.paperNO like '%1%'").list();
	Object objects =  list.get(0);
	System.out.println(objects);
	session.close();
}
 
源代码24 项目: LibrarySystem   文件: TestReader.java
@Test
public void getReader(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	String hql= "from Reader r where r.readerId=123 and r.state=1";
	List createQuery = session.createQuery(hql).list();
	Reader reader = (Reader) createQuery.get(0);
	System.out.println(reader);

}
 
源代码25 项目: LibrarySystem   文件: TestBorrowInfo.java
@Test
public void testGetInfo(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	List list = session.createSQLQuery("SELECT f.borrowId,f.forfeit,f.isPay,f.aid FROM forfeitinfo  f,borrowinfo  b where  b.borrowId = f.borrowId and b.readerId =?").setString(0,"1").list();

	Object[] object = (Object[]) list.get(0);
	System.out.println(object[0]);
	
session.close();
}
 
源代码26 项目: cacheonix-core   文件: FooBarTest.java
public void testDeleteRecursive() throws Exception {
	Session s = openSession();
	Foo x = new Foo();
	Foo y = new Foo();
	x.setFoo(y);
	y.setFoo(x);
	s.save(x);
	s.save(y);
	s.flush();
	s.delete(y);
	s.delete(x);
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码27 项目: cacheonix-core   文件: FooBarTest.java
public void testCustom() throws Exception {
	GlarchProxy g = new Glarch();
	Multiplicity m = new Multiplicity();
	m.count = 12;
	m.glarch = (Glarch) g;
	g.setMultiple(m);
	Session s = openSession();
	Serializable gid = s.save(g);
	s.flush();
	s.connection().commit();
	s.close();

	s = openSession();
	g = (Glarch) s.find("from Glarch g where g.multiple.count=12").get(0);
	s.connection().commit();
	s.close();
	
	s = openSession();
	g = (Glarch) s.find("from Glarch g where g.multiple.glarch=g and g.multiple.count=12").get(0);
	assertTrue( g.getMultiple()!=null );
	assertEquals( g.getMultiple().count, 12 );
	assertSame(g.getMultiple().glarch, g);
	s.flush();
	s.connection().commit();
	s.close();

	s = openSession();
	g = (GlarchProxy) s.load(Glarch.class, gid);
	assertTrue( g.getMultiple()!=null );
	assertEquals( g.getMultiple().count, 12 );
	assertSame(g.getMultiple().glarch, g);
	s.delete(g);
	s.flush();
	s.connection().commit();
	s.close();
}
 
源代码28 项目: LibrarySystem   文件: TestAdmin.java
@Test
public void testGetAdmin3(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	Authorization authorization = (Authorization) session.get(Authorization.class, 1);
	System.out.println(authorization.getAdmin().getName());
	session.close();
}
 
源代码29 项目: LibrarySystem   文件: TestAdmin.java
@Test
public void testSaveAdmin3(){
	SessionFactory sessionFactory = (SessionFactory)context.getBean("sessionFactory");
	Session session = sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();
	Authorization authorization = new Authorization();
	
	authorization.setAid(2);
	session.save(authorization);
	
	transaction.commit();
	session.close();
}
 
源代码30 项目: cacheonix-core   文件: MasterDetailTest.java
public void testNotNullDiscriminator() throws Exception {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Up up = new Up();
	up.setId1("foo");
	up.setId2(123l);
	Down down = new Down();
	down.setId1("foo");
	down.setId2(321l);
	down.setValue(12312312l);
	s.save(up);
	s.save(down);
	t.commit();
	s.close();

	s = openSession();
	t = s.beginTransaction();
	List list = s.find("from Up up order by up.id2 asc");
	assertTrue( list.size()==2 );
	assertFalse( list.get(0) instanceof Down );
	assertTrue( list.get(1) instanceof Down );
	list = s.find("from Down down");
	assertTrue( list.size()==1 );
	assertTrue( list.get(0) instanceof Down );
	//list = s.find("from Up down where down.class = Down");
	assertTrue( list.size()==1 );
	assertTrue( list.get(0) instanceof Down );
	s.delete("from Up up");
	t.commit();
	s.close();

}
 
 类所在包
 同包方法