我看到了很多关于更改 hibernate 用于连接到数据库的凭据的链接,但是没有关于您是否可以使用 hibernate 执行类似 SET PASSWORD FOR 'username'= PASSWORD( '密码')
。我还希望能够授予用户特权,显示所有数据库并创建新用户。基本上我可以用 Hibernate 做除了表操作之外的任何事情吗?
例如,我尝试了以下方法来创建用户:
SessionFactory factory = new Configuration.configuration().buildSessionFactory();
Session session = factory.openSession();
Transaction tx = null;
try{
tx = session.beginTransaction();
String query = "CREATE USER 'testUser' IDENTIFIED BY 'password'";
SQLQuery query = session.createSQLQuery(query);
tx.commit();
}catch(HibernateException e){
if(tx != null){
tx.rollback();
}
e.printStackTrace();
}finally{
session.close();
}
factory.close();
我知道它运行一切正常,但没有创建用户。
最佳答案
您需要在您的 SQLQuery
实例上调用 executeUpdate()
- query.executeUpdate()
- 这将发出您的 CREATE USER
语句到数据库。目前您正在创建查询实例,但什么也不做。
关于java - 使用 Hibernate 更改 MySQL 登录凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34406761/