hibernate作为持久层框架目前虽然是市场的最优选择,但是其中的设计理念与思想还是需要学习的;
这里就我自己遇到的查询部分代码做个总结。
使用Query和Criteria和标准sql都在下边了
@Test
public void testGetLimit() {
Session session = sessionFactory.openSession();
Transaction tx1 = null;
try {
tx1 = session.beginTransaction();
/*1 Hql语句是hibernate独有的语句
* 更接近于面向对象的思维方式。
* 查询得到对象集合
* */
String hql = "from User where id>?";//User是对象不是表字段
Query query = session.createQuery(hql);//
query.setInteger(0, 3);//基0操作
List<User> list = query.list();
// 分页操作
// query.setFirstResult(起始位置);
// query.setMaxResults(记录数量);
// List<User> list = query.list();
/*
* 2Criteria 完全是 面向对象的方式在进行数据查询,看不到有sql语句的痕迹
* */
Criteria c = session.createCriteria(Product.class);
String name = "iphon";
c.add(Restrictions.like("name", "%"+name+"%"