我正在尝试使用 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);
关于java - 如何在 Hibernate createSQLQuery() 中传递多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17390625/