[英]Calling SQL procedure in Hibernate
我在Java中具有以下方法,該方法應調用並執行SQL過程:
public void insertDocSubject(DocSubject docSubject) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
try {
session.beginTransaction();
session.createSQLQuery("SELECT create_subject_relation(" + docSubject.getDocumentFk() + ", " + docSubject.getDocSubjectTypeFk() + ", " + docSubject.getSubjectFk() + ", " + docSubject.getDocSubjectRelationTypeFk() + ", '" + docSubject.getNote() + "');");
} finally {
session.getTransaction().commit();
if(session.isOpen()) {
session.close();
}
}
}
運行它之后,什么也沒有發生,但是過程也沒有執行。 我還嘗試過手動運行該過程,然后按預期運行。
我還嘗試了一種在Google上閱讀的方法,該方法建議使用以下功能。
session.getNamedQuery("create_subject_relation").setParameter("doc_id", docSubject.getDocumentFk()).setParameter("sub_type", docSubject.getDocSubjectTypeFk()).setParameter("sub_id", docSubject.getSubjectFk()).setParameter("rel_type", docSubject.getDocSubjectRelationTypeFk()).setParameter("note", docSubject.getNote());
但是和第一種方法一樣,它沒有用。 我在做錯什么嗎?為什么它不起作用?
您只是在創建查詢,而不執行查詢,即在其上調用“列表”方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.