次のようなデータベースの列を更新するコードがあります。
logger.info("Entering Update Method");
Query query =session.createQuery("update CardMaster cm set cm.otpAmount = :otpAmount" + " where cm.cardNumber = :cardnumber");
double otpAmount= cardMaster.getOtpAmount();
String cardNumber=cardMaster.getCardNumber();
query.setParameter("otpAmount",otpAmount);
query.setParameter("cardnumber",cardNumber);
query.executeUpdate();
logger.info("cardMasterUpdated successfully");
これでotpamount、cardnumberを取得し、executeupdateの結果を1として表示していますが、データベースに反映されていません。セッションを開いて、外部で正しくコミットしています。
これを使用する代わりにupdate()
、Hibernateを使用すると、正しく実行されます。
これから私を助けてくれませんか?