是否可以在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中检入登录时,用户永远不会被创建