簡體   English   中英

Hibernate HQL Query:如何將Collection設置為Query的命名參數?

[英]Hibernate HQL Query : How to set a Collection as a named parameter of a Query?

給出以下HQL查詢:

FROM
    Foo
WHERE
    Id = :id AND
    Bar IN (:barList)

我使用Query對象的setInteger()方法設置:id

我想設置:barList使用一個對象List ,但是看看Hibernate文檔和方法列表我看不出明顯的選擇使用哪個。 有任何想法嗎?

在這里使用Query.setParameterList()Javadoc

有四種變體可供選擇。

我不確定HQL,但在JPA中,您只需使用參數和集合調用查詢的setParameter

Query q = entityManager.createQuery("SELECT p FROM Peron p WHERE name IN (:names)");
q.setParameter("names", names);

其中names是您要搜索的名稱的集合

Collection<String> names = new ArrayList<String();
names.add("Joe");
names.add("Jane");
names.add("Bob");

TorpedoQuery中它看起來像這樣

Entity from = from(Entity.class);
where(from.getCode()).in("Joe", "Bob");
Query<Entity> select = select(from);

暫無
暫無

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

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