![](/img/trans.png)
[英]Does Spring support PersistenceContextType.EXTENDED?
[英]EntityManager and two DAO with PersistenceContextType.EXTENDED
我的應用程式中的實體管理員遇到問題。 我有兩個這樣的DAO案例:
@Repository
public abstract class DaoA
{
protected ClassA persistentClass;
@PersistenceContext(name="my.persistence", type=PersistenceContextType.EXTENDED)
protected EntityManager entityManager;
-------------- some typical action for DAO --------------
}
第二個DAO用於ClassB,看起來類似於DaoA。 其余的事情由Spring框架為我完成。
在調試應用程序時,我認識到兩個DAO對象都有不同的EntityManager實例。 結果,我的兩個不同的DAO與不同的PersistenceContext連接。
問題是這是否是正確的行為? 我希望所有DAO類都具有相同的PersistenceContext。 請給我一個提示,如果可能的話,以及我是否正確理解了JPA?
問候高清
這是EXTENDED
持久性上下文的正確行為,因此在這種情況下您不需要將其EXTENDED
。
在大多數情況下,您需要一個TRANSACTIONAL
持久性上下文,這是省略type
時的默認模式:
@PersistenceContext(name="my.persistence")
protected EntityManager entityManager;
在這種模式下,持久性上下文與事務相關聯,因此在同一事務中工作時,所有DAO都將共享相同的持久性上下文。 我想這就是您所需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.