首页 > 代码库 > HibernateTemplate方法的使用
HibernateTemplate方法的使用
1、查询帖子(Post)为例
查找所有的帖子
public List<Post> findPosts() { String hql = "from Post p left join fetch p.user"; List<Post> list= null; list = (List<Post>) this.ht.find(hql); return list; }
@Transactional(propagation=Propagation.REQUIRED) public List<Post> findPosts2() { List<Post> list= null; DetachedCriteria dc = DetachedCriteria.forClass(Post.class); list = (List<Post>) this.ht.findByCriteria(dc); return list; }
@Transactional(propagation=Propagation.REQUIRED) public List<Post> findPosts3() { List<Post> list= null; list = (List<Post>) this.ht.findByExample(new Post()); return list; }
特定条件查询
@Transactional(propagation= Propagation.REQUIRED) public List<Post> findPostByUser(String userid) { String hql = "from Post p where p.user.userid = :userid"; List<Post> list= null; try{ list = (List<Post>) this.ht.findByNamedParam(hql, "userid",userid);//list = (List<Post>) this.ht.findByNamedParam(hql, new String[]{"userid"},new String[]{userid})
}catch(Exception e){ e.printStackTrace(); } return list; }
分页查询
@Transactional(propagation=Propagation.REQUIRED) public List<Post> findPosts(int start,int limit) { String hql = "from Post p left join fetch p.user"; List<Post> list= null; DetachedCriteria dc = DetachedCriteria.forClass(Post.class); list = (List<Post>) this.ht.findByCriteria(dc, start, limit);//this.ht.findByExample(new Post(), start, limit); return list; }
原生的sql查询(返回的是object数组)
@Transactional(propagation=Propagation.REQUIRED) public List<Post> findPosts4() { String sql = "select * from post"; List<Post> list= null; list = (List<Post>) this.ht.getSessionFactory().getCurrentSession().createSQLQuery(sql).list(); return list; }
HibernateTemplate方法的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。