Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Hibernate中调用SQL过程_Java_Sql Server_Hibernate_Stored Procedures - Fatal编程技术网

Java 在Hibernate中调用SQL过程

Java 在Hibernate中调用SQL过程,java,sql-server,hibernate,stored-procedures,Java,Sql Server,Hibernate,Stored Procedures,我在Java中有以下方法,它应该调用并执行SQL过程: public void insertDocSubject(DocSubject docSubject) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { session.beginTransaction(); session.createSQLQue

我在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();
            }
        }
    }
在运行它之后,不会发生任何事情,但过程也不会执行。我还试着手动运行这个过程,然后它正常工作了

我还尝试了我在谷歌上读到的一种方法,它建议使用以下函数

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

但和第一种方法一样,它不起作用。是否有我做错了什么,或者为什么不起作用?

您只是创建查询,而不是执行查询,即调用查询上的“list”方法