我有一個類似 MyObject 的 Object(我使用 hibernate-array-contributor 依賴項來管理數(shù)組):@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條經(jīng)驗 獲得超10個贊
我的編輯不允許刪除或更新(ElementCollection),因此在初始狀態(tài)下,這有效:
@NamedNativeQueries({
@NamedNativeQuery(name="getForUser", query = "SELECT * FROM mytable n WHERE n.users @> ?1 ", resultClass=MyObject.class)
})
添加回答
舉報
0/150
提交
取消