java - hibernate 和子树异常的意外结束

标签 java hibernate hql

我是 Hibernate 的新手。

我有一个 Item包含 Set<String> 的 POJO由标签组成。标签包含在来自 Item 的另一个数据库表中。表,所以我做了一个连接来填充 pojo。

我正在尝试从“Java Persistance with Hibernate”一书中运行一个简单的示例查询,我在其中查询 from Item item where 'hello' member of item.labels .只是,由于某种原因,我得到了一个

 `org.hibernate.hql.ast.QuerySyntaxException: unexpected end of subtree[from /*qualified class path*/.Item item where 'hello' member of item.labels]`

什么可能导致这个问题?

这是我的 POJO:

public class Item
       private int uuid;
       private Set<String>labels = new HashSet<String>();

       @Id
       public int getUuid(){
          return uuid; 
       }

       @CollectionOfElements
       @JoinTable(name="labels", joinColumns=@JoinColumn(name="uuid"))
       @Column(name="label")
       public Set<String> getLabels(){
            return labels;
       }
 }

最佳答案

通过谷歌搜索,您的参数集合似乎是空的。在调用查询之前,我会添加一个空检查。

教训是 Google 是您的 friend 。当您无法找出错误消息时,请尝试将其输入 Google(或您最喜欢的引擎)。您不太可能是第一个被它弄糊涂的人。

关于java - hibernate 和子树异常的意外结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2066361/

相关文章:

java - 原始数组作为泛型参数

java - 多部分表单直接提交到 URL

java - Hibernate LockModeType.OPTIMISTIC_FORCE_INCREMENT 在其他实体上传播

java - Hibernate 为复杂的 JOIN 执行两个查询而不是一个

java - 编写一个方法,该方法接受一串大括号,如果括号匹配则返回 true,如果不匹配则返回 false

java - Hibernate 上多对多关系的无限递归

hibernate - 单个 EntityManager (Hibernate) 可以参与多个并发事务吗?

grails - 获取HQL中的两个集合的交集

hadoop - 优化配置单元查询以避免 JOIN

java - 如何使用注释(无xml)配置spring-security?