jbpm中,提供了两个类对Hibernate进行了包装,org.jbpm.util.db.Db和org.jbpm.util.db.DbSession.
Db提供下面两个方法对session进行管理。
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() {...}
....
用这两个类,对Hibernate数据对象的处理就更简单了。
以前听说有人写过生成对Hibernate数据对象进行edit,delete,save方法生成的插件。jbpm的方法比这种方法更好。
|