我想从应用程序管理我的角色。但是当我使用
时entityManager.createNativeQuery(String.format("create USER %1$s nologin;",tenantId)).getResultList();
查询正在执行,但会出现异常。
javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet
是否有适当的方法从Java执行这样的查询?
答案 0 :(得分:0)
我认为您需要使用executeUpdate
而不是getResultList
。
entityManager.createNativeQuery(String.format("create USER %1$s nologin;",tenantId)).executeUpdate();
答案 1 :(得分:0)
对于那些使用共享 EntityManager 的,您可以使用 TransactionTemplate:
@Autowired
private EntityManager em;
@Autowired
private TransactionTemplate tt;
那么:
tt.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
em.createNativeQuery(String.format("create USER %1$s nologin;",tenantId))
.executeUpdate();
}
});