|
|
|
请教,不设外键的后遗症
|
2006年09月19日 11:58
|
|
|
标签列表
数据库(148)
事务(70)
|
|
数据库已经设计好,但是各表之间没有外健
我在一个事务中处理一个业务,该业务包括两个步骤,1.插入a, 2.将a.id set 进b,然后更新b.
我知道上述做法完全背离了OO思想,但我没权改数据库表,而且一旦改了,牵连很大.
如果事务不提交,则更新b时拿不到a.id,如果两个步骤分开在两个事务中,则破坏的业务方法的事务性
请问各位高手有办法解救吗?
|
|
|
|
|
|
Re: 请教,不设外键的后遗症
|
2006年09月22日 09:52
|
|
|
>如果事务不提交,则更新b时拿不到a 你这是因为只利用了数据库的悲观锁功能,悲观锁在一个数据记录更新时,会进行lock。
设置成乐观锁,然后使用Hibernate或EJB CMP之类框架进行记录事务控制。
这和设不设外健没有关系。
|
|
|
|