📄 hibernatetemplatetests.java
字号:
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
assertEquals("Correct return value", ht.save(tb), new Integer(0));
}
public void testSaveWithId() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.save(tb, "id");
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.save(tb, "id");
}
public void testSaveOrUpdate() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.saveOrUpdate(tb);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.saveOrUpdate(tb);
}
public void testSaveOrUpdateWithFlushModeNever() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.NEVER);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
try {
ht.saveOrUpdate(tb);
fail("Should have thrown InvalidDataAccessApiUsageException");
}
catch (InvalidDataAccessApiUsageException ex) {
// expected
}
}
public void testUpdate() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.update(tb);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.update(tb);
}
public void testUpdateWithLockMode() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.update(tb);
sessionControl.setVoidCallable(1);
session.lock(tb, LockMode.UPGRADE);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.update(tb, LockMode.UPGRADE);
}
public void testDelete() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.delete(tb);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.delete(tb);
}
public void testDeleteWithLock() throws HibernateException {
TestBean tb = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.lock(tb, LockMode.UPGRADE);
sessionControl.setVoidCallable(1);
session.delete(tb);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.delete(tb, LockMode.UPGRADE);
}
public void testDeleteAll() throws HibernateException {
TestBean tb1 = new TestBean();
TestBean tb2 = new TestBean();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.getFlushMode();
sessionControl.setReturnValue(FlushMode.AUTO);
session.delete(tb1);
sessionControl.setVoidCallable(1);
session.delete(tb2);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
List tbs = new ArrayList();
tbs.add(tb1);
tbs.add(tb2);
ht.deleteAll(tbs);
}
public void testFlush() throws HibernateException {
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.setFlushMode(FlushMode.NEVER);
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.setFlushMode(HibernateTemplate.FLUSH_NEVER);
ht.flush();
}
public void testClear() throws HibernateException {
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.clear();
sessionControl.setVoidCallable(1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
ht.clear();
}
public void testFind() throws HibernateException {
MockControl queryControl = MockControl.createControl(Query.class);
Query query = (Query) queryControl.getMock();
List list = new ArrayList();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.createQuery("some query string");
sessionControl.setReturnValue(query, 1);
query.list();
queryControl.setReturnValue(list, 1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
queryControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
List result = ht.find("some query string");
assertTrue("Correct list", result == list);
queryControl.verify();
}
public void testFindWithParameter() throws HibernateException {
MockControl queryControl = MockControl.createControl(Query.class);
Query query = (Query) queryControl.getMock();
List list = new ArrayList();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.createQuery("some query string");
sessionControl.setReturnValue(query, 1);
query.setParameter(0, "myvalue");
queryControl.setReturnValue(query, 1);
query.list();
queryControl.setReturnValue(list, 1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
queryControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
List result = ht.find("some query string", "myvalue");
assertTrue("Correct list", result == list);
queryControl.verify();
}
public void testFindWithParameterAndType() throws HibernateException {
MockControl queryControl = MockControl.createControl(Query.class);
Query query = (Query) queryControl.getMock();
List list = new ArrayList();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.createQuery("some query string");
sessionControl.setReturnValue(query, 1);
query.setParameter(0, "myvalue", Hibernate.STRING);
queryControl.setReturnValue(query, 1);
query.list();
queryControl.setReturnValue(list, 1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
queryControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
List result = ht.find("some query string", "myvalue", Hibernate.STRING);
assertTrue("Correct list", result == list);
queryControl.verify();
}
public void testFindWithParameters() throws HibernateException {
MockControl queryControl = MockControl.createControl(Query.class);
Query query = (Query) queryControl.getMock();
List list = new ArrayList();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.createQuery("some query string");
sessionControl.setReturnValue(query, 1);
query.setParameter(0, "myvalue1");
queryControl.setReturnValue(query, 1);
query.setParameter(1, new Integer(2));
queryControl.setReturnValue(query, 1);
query.list();
queryControl.setReturnValue(list, 1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
queryControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
List result = ht.find("some query string", new Object[] {"myvalue1", new Integer(2)});
assertTrue("Correct list", result == list);
queryControl.verify();
}
public void testFindWithParametersAndTypes() throws HibernateException {
MockControl queryControl = MockControl.createControl(Query.class);
Query query = (Query) queryControl.getMock();
List list = new ArrayList();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.createQuery("some query string");
sessionControl.setReturnValue(query, 1);
query.setParameter(0, "myvalue1", Hibernate.STRING);
queryControl.setReturnValue(query, 1);
query.setParameter(1, new Integer(2), Hibernate.INTEGER);
queryControl.setReturnValue(query, 1);
query.list();
queryControl.setReturnValue(list, 1);
session.flush();
sessionControl.setVoidCallable(1);
session.close();
sessionControl.setReturnValue(null, 1);
sfControl.replay();
sessionControl.replay();
queryControl.replay();
HibernateTemplate ht = new HibernateTemplate(sf);
List result = ht.find("some query string",
new Object[] {"myvalue1", new Integer(2)},
new Type[] {Hibernate.STRING, Hibernate.INTEGER});
assertTrue("Correct list", result == list);
queryControl.verify();
}
public void testFindWithParametersAndTypesForInvalidArguments() {
HibernateTemplate ht = new HibernateTemplate();
try {
ht.find("some query string",
new Object[] {"myvalue1", new Integer(2)},
new Type[] {Hibernate.STRING});
fail("Should have thrown IllegalArgumentException");
}
catch (IllegalArgumentException ex) {
// expected
}
}
public void testFindWithNamedParameter() throws HibernateException {
MockControl queryControl = MockControl.createControl(Query.class);
Query query = (Query) queryControl.getMock();
List list = new ArrayList();
sf.openSession();
sfControl.setReturnValue(session, 1);
session.getSessionFactory();
sessionControl.setReturnValue(sf, 1);
session.createQuery("some query string");
sessionControl.setReturnValue(query, 1);
query.setParameter("myparam", "myvalue");
queryControl.setReturnValue(query, 1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -