1,最简单的方法就是通过database identifier。通过ID来从数据库中调取相应的行来生成object。下面的代码就是通过user id来查找相应的object。
java 代码
  1. User user = (User) session.get(User.class, userID);  

2,通过HQL(Hibernate Query Language)来查找。HQL是类似于SQL的一种数据库语言,但是其只支持select功能,对update,insert,delete不支持。因为在Hibernate中,数据库的操作是交给Persitence Manager来控制的。下面是一个例子。

java 代码
  1. Query q = session.createQuery("from User u where u.firstname = :fname");   
  2. q.setString("fname""Max");   
  3. List result = q.list();  

3,通过Hibernate query by criteria(QBC)API来实现。QBC使用OO的思想来查找objects,所以没有HQL那么功能强大,而且想对来说更难于理解。下面是一个例子。

java 代码
  1. Criteria criteria = session.createCriteria(User.class);   
  2. criteria.add( Expression.like("firstname""Max") );   
  3. List result = criteria.list();  

Expression类提供静态方法来返回被过滤后的集合。

4,Query by example(QBE)是QBC的一种特殊表现形式,它要求程序提供一个供参考的例子来做为查找的根据。下面是一个例子。

java 代码
  1. User exampleUser = new User();   
  2. exampleUser.setFirstname("Max");   
  3. Criteria criteria = session.createCriteria(User.class);   
  4. criteria.add( Example.create(exampleUser) );   
  5. List result = criteria.list();  

程序建立了一个示范的exampleUser,其firstname为Max,然后通过此示范来查找符合要求的users。

评论
发表评论

您还没有登录,请登录后发表评论

cjyzpcl
搜索本博客
最近加入圈子
存档
最新评论