jbpm中,提供了兩個(gè)類(lèi)對Hibernate進(jìn)行了包裝,org.jbpm.util.db.Db和org.jbpm.util.db.DbSession.
Db提供下面兩個(gè)方法對session進(jìn)行管理。
public static void configureSessionFactory( String resource ) {...}
public static DbSession openSession( String SessionFactoryJndiName ){... }
DbSession提供了很多hibernate的數據管理方法。
public Collection filter(Object collection, String filter) {
...
}
public Collection filter(Object collection, String filter, Object[] values, Type[] types) {...}
public Query getNamedQuery(String queryName) {...}
public Query createFilter(Object collection, String queryString) {...}
public Query createQuery(String queryString) {...}
public Object load(Class theClass, Serializable id) {...}
public List find(String query) {...}
public Object findOne(String query) {...}
public Object findOne(String query, Object value, Type type) {...}
public Iterator iterate(String query) {...}
public Object iterateOne(String query) {...}
public LockMode getCurrentLockMode(Object object) {...}
public void lock(Object object, LockMode lockMode) {...}
public FlushMode getFlushMode() {...}
public void setFlushMode(FlushMode flushMode) {...}
public Serializable getIdentifier(Object object) {...}
public boolean isConnected() {...}
public boolean isOpen() {...}
public void delete(Object object) {...}
public int delete(String query) {...}
public int delete(String query, Object value, Type type) {...}
public void save(Object object, Serializable id) {... }
public void saveOrUpdate(Object object) {...}
public void update(Object object, Serializable id) {...}
public void flush() {...}
....
用這兩個(gè)類(lèi),對Hibernate數據對象的處理就更簡(jiǎn)單了。
以前聽(tīng)說(shuō)有人寫(xiě)過(guò)生成對Hibernate數據對象進(jìn)行edit,delete,save方法生成的插件。jbpm的方法比這種方法更好。
聯(lián)系客服