簡體   English   中英

如何在Hibernate createSQLQuery()中傳遞多個參數?

[英]How do I pass more than one parameter in Hibernate createSQLQuery()?

我試圖使用Hibernate調用存儲過程。 我似乎無法找到如何傳遞多個參數?

我知道有一個參數可以做到這一點:

Session session = HibernateUtil.getSessionFactory().openSession();
...
Query query = session.createSQLQuery("CALL StoredProcedureTest(:parameter)")
.addEntity(DBModel.class)
.setParameter("parameter", parameter);

ArrayList<DBModel> results = query.list();

我注意到有一個.setParameters(Object object[], Type[] types)選項,但根本找不到很多這樣的例子,也看不出這是怎么回事。

如果我需要多個參數,該怎么辦? 我能以同樣的方式做到這一點嗎?

再次調用setParameter:

Query query = session.createSQLQuery("CALL StoredProcedureTest(:parameter1, :parameter2)")
   .addEntity(DBModel.class)
   .setParameter("parameter1", parameter1)
   .setParameter("parameter2", parameter2);

您可以隨時繼續該行:

Query query = session.createSQLQuery("CALL StoredProcedureTest(:parameter, :parameter2)")
.addEntity(DBModel.class)
.setParameter("parameter", parameter).setParameter("parameter2", parameter2);

暫無
暫無

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

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