作為老牌的 ORM 框架,Hibernate 在推動(dòng)數(shù)據(jù)庫持久化層所做出的貢獻(xiàn)有目共睹。
它所提供的數(shù)據(jù)查詢方式也越來越豐富,從 SQL 到自創(chuàng)的 HQL,再到面向?qū)ο蟮臉?biāo)準(zhǔn)化查詢。
雖然查詢方式有點(diǎn)眼花繚亂,配置使用起來也稍微有點(diǎn)復(fù)雜。
但是絲毫掩蓋不了它迷人的地方,本篇博客試著匯總 Hibernate 所有的查詢方式。
蘿卜青菜各有所愛,工作中可以根據(jù)自己的喜好選擇其中的幾種進(jìn)行編程。
1. HQL 方式,參數(shù)使用問號(hào)占位(4.1 版本中已被廢棄)
public List<UserPO> getUserList(UserPO userPO) {
String hql = "from UserPO where name = ? and passwd= ?";
Query query = getHibernateSession().createQuery(hql);
query.setParameter(0, userPO.getName());
query.setParameter(1, userPO.getPasswd()); return