package com.joedayz.corespringtest.dao.impl;
import java.util.List;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;
import com.joedayz.corespringtest.dao.PostDao;
import com.joedayz.corespringtest.domain.Post;
@Repository
public class PostDaoImpl implements PostDao {
private HibernateTemplate hibernateTemplate;
@Autowired
public PostDaoImpl(SessionFactory sessionFactory){
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
@SuppressWarnings("unchecked")
public List<Post> listarTodosLosPostPorTema(Long id) {
DetachedCriteria criteria = DetachedCriteria.forClass(Post.class);
criteria.add(Restrictions.eq("tema.id", id));
List<Post> posts = hibernateTemplate.findByCriteria(criteria);
return posts;
}
public void guardarPost(Post post){
hibernateTemplate.saveOrUpdate(post);
hibernateTemplate.flush();
}
public Post obtenerPost(Long id) {
return hibernateTemplate.get(Post.class, id);
}
}