已有一年多未接触Hibernate,实在不知道怎么样入手了,刚好今天项目需要稍改一个Struts2+spring+Hibernate为框架的项目,不明觉厉的想到了用纯SQL方式,避免了映射等诸多麻烦, ------------------注: 不建议所有的写法都按此,只是说做个记录晓得有这么个回事就好。
屁话不说,直接上代码:
public ArrayList<FileType> findByPid(final Integer productid){
ArrayList<FileType> list = new ArrayList<FileType>();
try {
List rsli = hibernateTemplate.executeFind(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
String sql = "select a.id,a.name,a.icon_pc,a.icon_ph from file_type a"
+" INNER JOIN wrt_file b on a.id = b.file_type_id"
+" INNER JOIN product_type c on b.product_type_id = c.id"
+" where c.id = '"+productid+"' GROUP BY a.id";
Query q = session.createSQLQuery(sql);
return q.list();
}
});
System.out.println(rsli);
for (Iterator iterator=rsli.iterator();iterator.hasNext();) {
Object[] objects = (Object[]) iterator.next();
FileType fileType= new FileType();
fileType.setId(Integer.valueOf(objects[0].toString()));
fileType.setName(objects[1].toString());
fileType.setIconPc(objects[2].toString());
fileType.setIconPh(objects[3].toString());
list.add(fileType);
}
return list;
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
此博文并非教程,这里只是对Hibernate使用纯SQL操作进行了一个简单的记录,以便于以后查找,如深入学习Hibernate建议,找系列资料。。。。反正我是忘记了Hibernate怎么用了..........
参考:http://blog.csdn.net/houpengfei111/article/details/10096215