[英]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.