【发布时间】:2010-10-21 14:04:38
【问题描述】:
抱歉重复,但我认为我没有得到满意的答案,所以再次发布 假设我有以下签名的方法
Object getData(int id) {
//create a entity manager
//get data frm db
//return data
}
updateData() {
Object obj = getData(id)
//get entity manager
//start transcation tx
//update
//commit tx
}
现在它会导致并发问题吗?在最坏的情况下数据会过时吗?例如。
如果我getData 并且在我更新时,如果有人更新数据,我的updateData 会有过时的数据吗?
现在我可以使用以下内容:我能解决这个问题吗?
Object getData(int id,Entitymanager em) {
//get data frm db using em
//return data
}
updateData() {
Object obj = getData(id)
//get entity manager em
//start transcation tx
//getdata using getData(id,em)
//commit tx
}
【问题讨论】:
-
同一对象上的两个不同 EM 可能不是一个好主意。
-
如果您没有得到满意的答案,请让人们知道他们不满意的原因并澄清您的问题。发布相同的问题无济于事,继续努力。投票结束。
-
是的,请只编辑原始问题,而不是发布重复的问题。编辑会将其撞回“活动”页面的顶部,因此会获得更多浏览量。