@Override
public FriendBean findFriendBean(final FriendBean friendBean) {
// return (FriendBean) this.getHibernateTemplate().execute(
// new HibernateCallback() {
// public Object doInHibernate(Session session)
// throws HibernateException, SQLException {
// Query query = session
// .createQuery("FROM FriendBean f WHERE f.id.userid=? AND f.id.friendid=? AND f.id.groupid=?")
// .setParameter(0, friendBean.getId().getUserid())
// .setParameter(1, friendBean.getId().getFriendid())
// .setParameter(2, friendBean.getId().getGroupid());
// return query.uniqueResult();
// }
// });
return (FriendBean) this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(FriendBean.class);
// criteria.setProjection(Projections.count("userId"));
if(null!= friendBean){
if(null!=friendBean.getId().getUserid()){
criteria.add(Restrictions.eq("id.userid", friendBean.getId().getUserid()));
}
if(null!=friendBean.getId().getFriendid()){
criteria.add(Restrictions.eq("id.friendid", friendBean.getId().getFriendid()));
}
if(null!=friendBean.getId().getGroupid()){
criteria.add(Restrictions.eq("id.groupid", friendBean.getId().getGroupid()));
}
}
Object result = criteria.uniqueResult();
//criteria.setProjection(null);
return result;
}
});
}