簡體   English   中英

HQL如何查詢String的ElementCollection

[英]HQL how to query ElementCollection of String

我喜歡上課

public User{
   Long id;
   Set<String> roles;
}

如何查詢角色為"ADMIN"所有User對象

編輯:

我正在使用Hibernate 3.0.5。 並嘗試了大多數明顯的方法。

from Users where roles in('ADMIN')給出JDBC錯誤的用戶。 from Users u where u.roles in('ADMIN')給出了類from Users u where u.roles in('ADMIN')異常

我認為這可能是這個特定版本的hibernate的一個問題。

我找到了解決方案:

"from User as user where 'ADMIN' in elements(user.roles)";

不知怎的,hql函數value()必須幫助解決這個問題,你也可以嘗試一下,但上面的hql查詢對我有用。

您可以使用以下查詢

"from User as user where user.id in (select user.id from Role as role left join role.user as user where role.name = 'ADMIN')"

這應該這樣做:

session.createQuery("from User where roles in ('ADMIN')");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM