java - Hibernate 标准第 2 期

标签 java hibernate criteria

我是 Hibernate 和 Criteria 的新手,在以下方面遇到了一些麻烦。 我试图获取文档列表,而我拥有的唯一数据是客户端 ID。 Hibernate可以获取数据吗?

我有以下实体

@Entity
public class Document implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;

   @OneToMany(fetch=FetchType.LAZY)  
   @JoinColumn(name="documentId", referencedColumnName="id")  
    private List<Gd_Client> clientList;
   (...)

@Entity
public class Gd_Client implements Serializable {

@Id
private long clientId;
@Id
private String SecId;

(...)

在 DAO 中:

public List<Document> getDocumentsbyClientId(Long clientId) {

    Session session = entityManager.unwrap(Session.class);
    Criteria crit = session.createCriteria(Document.class);

    crit.add(Restrictions.eq("clientId",clientId));

    return crit.list();

}

我收到以下错误:

ERROR: Parameter #1 has not been set.
09/11/2014 11:27:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
WARNING: Exception occurred during processing request: could not execute query
org.hibernate.exception.SQLGrammarException: could not execute query

最佳答案

Criteria创建于Document实体,并且您正在尝试访问属性 clientId Document 中不存在该内容实体,所以 hibernate 给你一个异常(exception)。

关于java - Hibernate 标准第 2 期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798265/

相关文章:

java - 对远程对象 Java RMI 的并发访问

java - 弱 HashMap 示例

java - 为什么在写';'时没有收到任何警告或错误?

java - Hibernate 不会在插入时将外键设置为父级主键的值

nhibernate - 如何使用 NHibernate 的标准 api 和实体查询子属性以仅加载匹配谓词条件的子属性

java - JPA 多对多查询

java - AlertDialog.Builder finish() 导致 NPE

java - 选择 HQL 中不是父级的类别

java - 数据库如何通过 Hibernate 与 jpa 注解的 pojo 类交互?

hibernate - Grails/hibernate : how to order by isnull(property) to get NULLs last?