java - Hibernate No @NamedStoredProcedureQuery was found with that name -
i trying call on stored procedure db2 database using hibernate's entity manager , return results object. using @namedstoredprocedurequery annotation not seem found hibernate. getting error: "no @namedstoredprocedurequery found name : create_division". ideas great.
beans:
<bean id="entitymanagerfactorybean" class="org.springframework.orm.jpa.localcontainerentitymanagerfactorybean"> <property name="datasource" ref="datasource" /> <property name="persistenceunitname" value="demojpaunit" /> <property name="packagestoscan"> <list> <value>com.merchantboarding.db2.queryobjects</value> </list> </property> <property name="jpavendoradapter"> <bean class="org.springframework.orm.jpa.vendor.hibernatejpavendoradapter" /> </property> <property name="jpaproperties"> <props> <prop key="hibernate.archive.autodetection">class,hbm</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.dialect">org.hibernate.dialect.db2dialect</prop> </props> </property> </bean> <bean id="transactionmanager" class="org.springframework.orm.jpa.jpatransactionmanager"> <property name="entitymanagerfactory" ref="entitymanagerfactorybean" /> </bean> query output object:
@namedstoredprocedurequery( name="create_division", procedurename="md.pmdbd017", resultclasses = {createdivisionresult.class}, parameters={ @storedprocedureparameter(name="in_enty",mode=parametermode.in,type=integer.class), @storedprocedureparameter(name="in_parnt_enty",mode=parametermode.in,type=integer.class), @storedprocedureparameter(name="in_action",mode=parametermode.in,type=string.class), @storedprocedureparameter(name="in_enty_xref",mode=parametermode.in,type=string.class), @storedprocedureparameter(name="out_enty",mode=parametermode.out,type=integer.class), @storedprocedureparameter(name="out_id",mode=parametermode.out,type=string.class), @storedprocedureparameter(name="out_enty_xref",mode=parametermode.out,type=string.class), @storedprocedureparameter(name="out_sqlcode",mode=parametermode.out,type=integer.class), @storedprocedureparameter(name="out_status",mode=parametermode.out,type=string.class), @storedprocedureparameter(name="out_errortext",mode=parametermode.out,type=string.class), } ) public class createdivisionresult implements serializable { @id public string out_enty; public string out_id; public string out_enty_xref; public string out_sqlcode; public string out_status; public string out_errortext; } dao code:
storedprocedurequery query = manager.createnamedstoredprocedurequery("create_division"); query.setparameter("in_enty", 111); query.setparameter("in_parnt_enty", 11111); query.setparameter("in_action", "create"); query.setparameter("in_enty_xref", "ed"); list<createdivisionresult> results = query.getresultlist(); edit: added @entity , did fix original error, output parameters still aren't mapping createdivisionresult object. can each indiviual field query.getoutputparametervalue. restriction of jpa?
@namedstoredprocedurequery should applied entity class or mapped class
seems missing @entity in 'createdivisionresult'
Comments
Post a Comment