2013-08-18 58 views
0

有没有从数据库中找到记录的具体方法?Hibernate 4查找记录属性

我不想使用criteria apiload()只使用主键获取数据,但如果我想使用其他列查找记录呢?我知道这是可能的标准,但想知道有没有其他选择?

+1

您正在寻找[查询](http://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html/ch11。 Hibernate核心参考手册中的HTML#objectstate-querying)和[HQL:Hibernate查询语言](http://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html/ch16.html)手动 –

+0

@AnthonyAccioly雅这很好,所以我只有这个选项来写所有属性的查询? – commit

+1

阅读文档。您可以使用HQL,JPQL,Criterias(通过Hibernate和JPA 2 API)和Native SQL。当你有更具体的问题时,一定要回来。 –

回答

2

所需的性能。 OP正在寻找一种使用只在运行时已知的实体字段组合进行查询的方法。我建议Criteria - Example Queries。从官方文档

样品:

Cat cat = new Cat(); 
cat.setSex('F'); 
cat.setColor(Color.BLACK); 
List results = session.createCriteria(Cat.class) 
    .add(Example.create(cat)) 
    .list(); 
0

据我所知,直接,没有方法..

您可以尝试使用HQLNative SQL query

而且

在标准API,您需要添加Projections从我们在聊天的讨论上取POJO的