我有一个类似 MyObject 的 Object(我使用 hibernate-array-contributor 依赖项来管理数组):@Entity@Table(name = "mytable")@NamedQueries({ @NamedQuery(name = "findAll", query = "SELECT n FROM mytable n"), @NamedQuery(name = "getForUsers", query = "SELECT n FROM mytable n WHERE users @> :users") })public class MyObject{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; @Column(name="title") private String title; @Column(name="users", columnDefinition="bigint array") private Long[] users ; //constructor, getters and setters}当我想使用 namedquery getForUsers 时遇到一些问题:org.hibernate.HibernateException:命名查询中的错误:getForUsers 失败,因为:org.hibernate.QueryException:意外字符:'@' [SELECT n FROM MyObject n WHERE users @> :users]但是当我在 pgAdmin 中编写它时,它运行良好。我该怎么做?提前致谢。
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
我的编辑不允许删除或更新(ElementCollection),因此在初始状态下,这有效:
@NamedNativeQueries({
@NamedNativeQuery(name="getForUser", query = "SELECT * FROM mytable n WHERE n.users @> ?1 ", resultClass=MyObject.class)
})
添加回答
举报
0/150
提交
取消