본문 바로가기
MySql

MySQL Hibernate createSQLQuery ()에서 하나 이상의 매개 변수를 어떻게 전달합니까?

by 베이스 공부 2020. 12. 30.
반응형

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);

 

참조 페이지 https://stackoverflow.com/questions/17390625

 

 

반응형

댓글