标签: java hibernate java-ee
我面临一个奇怪的问题。没有任何改变,如果我为特定实体类型调用update,则hibernate不会执行任何操作。 没有错误/调试消息。我在配置中启用了hibernate.show_sql,看不到更新查询,只显示select和insert的查询。
有谁知道如何解决,或者至少调试问题?
答案 0 :(得分:4)
检查更新是否在事务中执行;我的猜测是不是。
<强>交易强> 交易也分组 事实上,每一个数据访问操作 SQL语句,无论是查询还是DML, 必须在数据库中执行 交易。可能没有 与外部数据库通信 数据库事务。 (注意 有只读这样的东西 交易,可以用来 改善数据库中的清理时间 引擎,如果它不够智能 优化自己的运营。) 在 正确的方法是明确界定 您的交易边界 通过开始和 提交交易 以编程方式,或者如果你有 机械地这样做,声明地说 (例如,在服务/命令方法上)。如果 事务发生异常 必须回滚(或 以声明的方式回滚)。
<强>交易强> 交易也分组 事实上,每一个数据访问操作 SQL语句,无论是查询还是DML, 必须在数据库中执行 交易。可能没有 与外部数据库通信 数据库事务。 (注意 有只读这样的东西 交易,可以用来 改善数据库中的清理时间 引擎,如果它不够智能 优化自己的运营。)
在 正确的方法是明确界定 您的交易边界 通过开始和 提交交易 以编程方式,或者如果你有 机械地这样做,声明地说 (例如,在服务/命令方法上)。如果 事务发生异常 必须回滚(或 以声明的方式回滚)。
Read more
如果您使用spring,则可以更轻松地处理交易。