我在 MySQL 中使用用户变量来控制数据库中触发器的操作。这些变量使用以下 Java 代码在服务中设置:
MedicalDB service = (MedicalDB)RuntimeAccess.getInstance().getServiceBean("medicalDB"); // medicaldb is the name of the connection to DB
try {
service.begin();
Session session = service.getDataServiceManager().getSession();
sql = "SET @disableTriggers = 0;";
session.createQuery(sql).executeUpdate(); <---- Throws null pointer exception
这段代码已经正常工作了很长时间,但是现在当服务执行 executeUpdate() 方法时,它会引发空指针异常。问题出在 SET 语句上,因为如果我将其注释掉,后续的 sql 语句就会正常运行。
JRE(内部版本 1.7.0-03-b05)或 Hibernate 发生了一些变化。我正在使用 Wavemaker 6.4.6GA