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() メソッドを実行すると、null ポインター例外がスローされます。問題はSETステートメントにあります。コメントアウトすると、後続のSQLステートメントが適切に機能するためです。
JRE (ビルド 1.7.0-03-b05) または Hibernate で何かが変更されました。Wavemaker 6.4.6GA を使用しています。