kam*_*aci 10 java sql named-query
如何在我的namedQuery中使用IN?
@NamedQueries(
{
@NamedQuery(name = "GetAvailableProducts", query = new StringBuilder("").append("SELECT p FROM Product p WHERE p.type= :type AND (p.available IN ('I want to define changeable size of an array or sometinhg like that') OR p.available = :available)")),
}
Run Code Online (Sandbox Code Playgroud)
我的意思是我可以设置'type'参数(我把它定义为变量---->:type),我想在IN语句中定义变量.但是参数的数量不是恒定的.我想定义一个数组或类似的东西:array []我想在调用namedQuery时设置它.
Tad*_*pec 26
@NamedQueries(
{
@NamedQuery(name = "GetAvailableProducts", query = "FROM Product p WHERE p.type= :type AND (p.available IN (:availableCollection) OR p.available = :available)",
}
Run Code Online (Sandbox Code Playgroud)
休眠:
query.setParameterList('availableCollection', yourCollection);
Run Code Online (Sandbox Code Playgroud)
JPA:
query.setParameter('availableCollection', yourCollection);
Run Code Online (Sandbox Code Playgroud)