簡體   English   中英

使用 EJB3 對 DB 中的一個或多個表進行狀態

[英]state for one or more table in DB with EJB3

總而言之,當我調用 ejb bean 來保存新實體或更新實體時,我們假設我們有許多實體 A、B、C、D,我想找到一種模式來驗證是否另一個托管 Bean 線程已保存新實體 A 或B 或 C 或 D 或已更新一個或模式以驗證當我在事務中時是否修改了表,因為當我喜歡保存新實體 A 時,有許多字段整數取決於 haw 匹配特定實體 B 和 c 和 d 保存在數據庫中

@Stateless
public class EntityABean implements EntityARemote, EntityALocal {

@Resource
 private SessionContext context;

@EJB
private DaoEntity daoEntityEjb;

public void doSomthing(Object param1, Object param2 ...) {
try {
 //dosomthing
}
catch(Excepyion ex) {
context.rollback();
throw ex;
}
}

您的問題不是很清楚,但據我所知,您可能需要 JPA 的自動樂觀並發控制機制。 您需要按照此處的說明對版本列進行注釋,其余部分由符合 JPA 的底層提供程序處理。 有關更多詳細信息,您可以在此處查看另一個 SO 答案。

您可以通過指定鎖定模式來進一步控制 JPA 管理對版本化實體的鎖定的方式。 您可以通過 EntityManager 類的 lock() 方法執行此操作。 這是方法簽名:

public void lock(Object entity, LockModeType lockMode);

更多解釋請看這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM