package org.asyrinx.joey.gen.sample1.entity.dao.hibernate;
import java.io.Serializable;
import java.sql.Connection;
import java.util.List;
import org.asyrinx.brownie.core.query.BasicSelectBuilder;
import org.asyrinx.brownie.core.query.Select;
import org.asyrinx.brownie.core.query.SelectBuilder;
import org.asyrinx.brownie.core.query.StatementType;
import org.asyrinx.brownie.core.query.exp.IExpression;
import org.seasar.hibernate.S2SessionFactory;
import org.asyrinx.joey.gen.sample1.entity.dao.*;
import org.asyrinx.joey.gen.sample1.entity.entity.*;
/**
*
* [Sat Nov 27 00:03:31 JST 2004]
*/
public class PartyDaoImpl implements PartyDao {
/**
*
*/
public PartyDaoImpl(S2SessionFactory sessionFactory) {
super();
this.sessionFactory = sessionFactory;
}
protected final S2SessionFactory sessionFactory;
/*
* (non-Javadoc)
*
* @see org.asyrinx.joey.gen.sample1.entity.dao.PartyDao#delete(org.asyrinx.joey.gen.sample1.entity.entity.Party)
*/
public void delete(Party obj) {
sessionFactory.getSession().delete(obj);
}
/*
* (non-Javadoc)
*
* @see org.asyrinx.joey.gen.sample1.entity.dao.PartyDao#save(org.asyrinx.joey.gen.sample1.entity.entity.Party)
*/
public void save(Party obj) {
sessionFactory.getSession().saveOrUpdate(obj);
}
/*
* (non-Javadoc)
*
* @see org.asyrinx.joey.gen.sample1.entity.dao.PartyDao#load(org.asyrinx.joey.gen.sample1.entity.entity.Party)
*/
public Party load(Serializable key) {
if (key == null)
return null;
return (Party) sessionFactory.getSession().load(Party.class, key);
}
/*
* (non-Javadoc)
*
* @see org.asyrinx.joey.gen.sample1.entity.dao.PartyDao#select(org.asyrinx.joey.gen.sample1.entity.entity.Party)
*/
public List select(IExpression expression) {
final Select select = new Select();
select.getWhere().add(expression);
if (select.getFroms().isEmpty())
select.getFroms().add(PartyDao.PARTY.alias());
final SelectBuilder builder = new BasicSelectBuilder(StatementType.HQL);
return sessionFactory.getSession().find(builder.buildSelect(select));
}
public Connection getConnection() {
return sessionFactory.getSession().connection();
}
}