DaoImpl.java
Home
/
src /
main /
java /
eu /
cloudscale /
showcase /
db /
dao /
hibernate /
impl /
DaoImpl.java
package eu.cloudscale.showcase.db.dao.hibernate.impl;
import javax.naming.NamingException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import eu.cloudscale.showcase.db.dao.IDao;
import eu.cloudscale.showcase.db.model.IShoppingCart;
//@Transactional(readOnly=true)
public class DaoImpl<T> implements IDao<T>
{
protected int count = 1;
protected SessionFactory sessionFactory;
public DaoImpl()
{
}
public DaoImpl(SessionFactory sFactory)
{
sessionFactory = sFactory;
}
protected final Session getCurrentSession()
{
Session session = sessionFactory.getCurrentSession();
//System.out.println("SESSION = " + session.getClass().hashCode());
return sessionFactory.getCurrentSession();
}
@Override
public T shrani(T object)
{
//Session session = sessionFactory.getCurrentSession();
//session.saveOrUpdate(object);
sessionFactory.getCurrentSession().saveOrUpdate( object );
return object;
}
@Override
public T shrani(T object, boolean flag)
{
//Session session = sessionFactory.getCurrentSession();
//session.saveOrUpdate(object);
//System.out.println("[DaoImpl.shrani(object, flag)] " + ((IShoppingCart) object).getScId());
sessionFactory.getCurrentSession().saveOrUpdate( object );
return object;
}
@Override
public void finish()
{
}
@Override
public T getObject()
{
try
{
throw new UnsupportedOperationException( "Implement in DAO implementation!" );
}
catch ( UnsupportedOperationException e )
{
e.printStackTrace();
}
return null;
}
}