【问题标题】:Hibernate transaction lock for table having foreign key具有外键的表的休眠事务锁
【发布时间】:2014-09-01 11:20:35
【问题描述】:

带有主键的表 1

table2 有对​​ table1 主键的​​外键引用

我想在table2中插入多条记录

如下代码

begin hibernate transaction;

OBJ1 = insert table1 object.

loop:

set table2 object with foreignkey OBJ1 and with some other values;

Lock  this object (sothat nobody can insert these values into table2)

loop ends;

commit transaction;

我的问题实际上是每笔交易的外键都是唯一的,这意味着每个客户的价值都是唯一的。 我想锁定其他值(例如座位号等),以防止其他客户进入。 由于每个客户的外键不同,因此锁定没有任何目的。

我如何在此处进行锁定。 ?

我没有向她发布代码,因为我没有编写代码,我想在开始编码之前计划如何做到这一点。 请帮忙。

【问题讨论】:

  • 这与javahibernate 无关
  • @Andremoniy 好的,你读过这个问题吗?有更新吗?

标签: mysql sql hibernate transactions


【解决方案1】:

如果您想防止在表 2 中插入,您可以对该表使用唯一约束,例如座位号 + 事件。如果其他人在你思考的时候选择了这些项目,那实际上会让你的提交失败。 不是最好的用户友好策略。 您宁愿修复您的标签,以免人们与 java/hibernate 混淆。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 2012-08-21
    • 2011-02-23
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    相关资源
    最近更新 更多