@Override public void update(final Object entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { session.update(entity); return null; } }); }
@Override public void flush() { execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { session.flush(); _count = 0; return null; } }); }
@SuppressWarnings("unchecked") @Override public <T> T get(final Class<T> entityType, final Serializable id) { return (T) execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { return session.get(entityType, id); } }); }
@SuppressWarnings("unchecked") @Override public <T> T get(final Class<T> entityType, final Serializable id) { return (T) execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { return session.get(entityType, id); } }); }
@Override public <T> void clearAllEntitiesForType(final Class<T> type) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery("delete from " + type.getName()); return query.executeUpdate(); } }); }
@Override public void flush() { execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { session.flush(); _count = 0; return null; } }); }
@Override public <T> void clearAllEntitiesForType(final Class<T> type) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery("delete from " + type.getName()); return query.executeUpdate(); } }); }
@Override public <T> void removeEntity(final T entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { session.delete(entity); return null; } }); }
@Override public <T> void removeEntity(final T entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { session.delete(entity); return null; } }); }
@Override public void update(final Object entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { session.update(entity); return null; } }); }
@SuppressWarnings("unchecked") public <T> List<T> findWithNamedParams(final String queryString, final String[] paramNames, final Object[] values) { return (List<T>) execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { Query queryObject = session.createQuery(queryString); if (values != null) { for (int i = 0; i < values.length; i++) applyNamedParameterToQuery(queryObject, paramNames[i], values[i]); } return queryObject.list(); } }); }
@SuppressWarnings("unchecked") public <T> List<T> findWithNamedParams(final String queryString, final String[] paramNames, final Object[] values) { return (List<T>) execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { Query queryObject = session.createQuery(queryString); if (values != null) { for (int i = 0; i < values.length; i++) applyNamedParameterToQuery(queryObject, paramNames[i], values[i]); } return queryObject.list(); } }); }
@SuppressWarnings("unchecked") public <T> List<T> findByNamedQueryAndNamedParams(final String namedQuery, final String[] paramNames, final Object[] values) { return (List<T>) execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { Query queryObject = session.getNamedQuery(namedQuery); if (values != null) { for (int i = 0; i < values.length; i++) applyNamedParameterToQuery(queryObject, paramNames[i], values[i]); } return queryObject.list(); } }); }
@SuppressWarnings("unchecked") public <T> List<T> findByNamedQueryAndNamedParams(final String namedQuery, final String[] paramNames, final Object[] values) { return (List<T>) execute(new HibernateOperation() { public Object doInHibernate(Session session) throws HibernateException { Query queryObject = session.getNamedQuery(namedQuery); if (values != null) { for (int i = 0; i < values.length; i++) applyNamedParameterToQuery(queryObject, paramNames[i], values[i]); } return queryObject.list(); } }); }
@Override public void save(final Object entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Object obj = session.save(entity); _count++; if (_count >= BUFFER_SIZE) { session.flush(); session.clear(); _count = 0; } return obj; } }); }
@Override public void save(final Object entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Object obj = session.save(entity); _count++; if (_count >= BUFFER_SIZE) { session.flush(); session.clear(); _count = 0; } return obj; } }); }
@Override public void saveOrUpdate(final Object entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { session.saveOrUpdate(entity); _count++; if (_count >= BUFFER_SIZE) { session.flush(); session.clear(); _count = 0; } return null; } }); }
@Override public void saveOrUpdate(final Object entity) { execute(new HibernateOperation() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { session.saveOrUpdate(entity); _count++; if (_count >= BUFFER_SIZE) { session.flush(); session.clear(); _count = 0; } return null; } }); }