
com.britesnow.snow.web.db.hibernate.HibernateDaoHelperImpl Maven / Gradle / Ivy
/* Copyright 2009 Jeremy Chone - Licensed under the Apache License, Version 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package com.britesnow.snow.web.db.hibernate;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import com.britesnow.snow.web.db.hibernate.annotation.Transactional;
import com.google.inject.Singleton;
/**
*
* Helper Class to access Hibernate Session functions. Note that this class uses
* SessionHolder and assumes that HibernateHandler.openSessionInView has been
* called.
*
* @author Jeremy Chone
* @date Jul 30, 2009
*/
@Singleton
public class HibernateDaoHelperImpl implements HibernateDaoHelper {
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#get(java.lang.Class, java.io.Serializable)
*/
@SuppressWarnings("unchecked")
public T get(Class cls, Serializable id) {
try {
if (cls != null && id != null) {
return (T) getSession().get(cls, id);
} else {
return null;
}
} catch (Throwable e) {
throw new SnowHibernateException(e);
}
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#save(T)
*/
@Transactional
public T save(T entity) {
Session session = getSession();
try {
session.save(entity);
} catch (Throwable e) {
throw new SnowHibernateException(e);
}
return entity;
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#update(T)
*/
@Transactional
public T update(T entity) {
Session session = getSession();
try {
session.update(entity);
} catch (Throwable e) {
throw new SnowHibernateException(e);
}
return entity;
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#saveEntities(java.util.List)
*/
@Transactional
public void saveEntities(List entities) {
for (Object entity : entities) {
save(entity);
}
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#saveEntities(java.lang.Object)
*/
@Transactional
public void saveEntities(Object... entities) {
for (Object entity : entities) {
save(entity);
}
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#delete(java.lang.Class, java.io.Serializable)
*/
@SuppressWarnings("unchecked")
@Transactional
public void delete(Class cls, Serializable id) {
if (id != null) {
Object entity = get(cls, id);
delete(entity);
}
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#delete(java.lang.Object)
*/
@Transactional
public void delete(Object entity) {
if (entity != null) {
try {
getSession().delete(entity);
} catch (Throwable e) {
throw new SnowHibernateException(e);
}
}
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#deleteEntities(java.util.List)
*/
@Transactional
public void deleteEntities(List entities) {
if (entities != null) {
for (Object entity : entities) {
delete(entity);
}
}
}
/* (non-Javadoc)
* @see org.snowfk.web.db.hibernate.HibernateDaoHelper#findFirst(java.lang.String, java.lang.Object)
*/
@SuppressWarnings("unchecked")
public Object findFirst(String query, Object... values) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy