有什么办法可以用jpa执行这些查询吗?

时间:2016-08-24 12:38:31

标签: sql-server jpa jpql

是否可以在jpa中执行此查询,因为我看到的唯一选项是.getSingleResult();.getResultList();,这两个选项都会抛出异常,因为此查询不会返回任何结果。

我有什么办法可以用jpa执行这些查询吗?

我想用jpa做的原因是因为entityManager已经有了连接细节,我不想为这个查询创建一个特殊的连接。

Query LoginkrijoQuery=em.createNativeQuery("USE MDAfondation ;"+
                                           "CREATE LOGIN "+username+" WITH password= '"+password+"',DEFAULT_DATABASE = MDAfondation,DEFAULT_LANGUAGE = english,CHECK_EXPIRATION = OFF ;");
LoginkrijoQuery.getSingleResult();
好吧,我试过这样的

em.getTransaction().begin();
    em.createNativeQuery("USE MDAfondation;\n "+
                         "CREATE LOGIN "+username+" WITH password= '"+password+"',DEFAULT_DATABASE = MDAfondation,DEFAULT_LANGUAGE = english,CHECK_EXPIRATION = OFF;\n"+
                         "USE MDAfondation;\n" +
                         "CREATE USER "+username+" FOR LOGIN "+username+";\n"+
                         "USE MDAfondation;\n" +
                         "sp_addrolemember 'stafi', '"+username+"';\n");
    em.getTransaction().commit();

现在它不会抛出任何异常,但查询永远不会执行,因为当我在SQL Server中检入登录时,用户永远不会被创建

0 个答案:

没有答案