亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

往DAO類中注入@PersistenceContext和@Resource有什么區別

發布時間:2022-02-24 16:47:16 來源:億速云 閱讀:249 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“往DAO類中注入@PersistenceContext和@Resource有什么區別”,內容詳細,步驟清晰,細節處理妥當,希望這篇“往DAO類中注入@PersistenceContext和@Resource有什么區別”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

DAO類注入@PersistenceContext和@Resource區別

@PersistenceContext

private EntityManager em;

注入的是實體管理器,執行持久化操作的,需要配置文件persistence.xml。

注入一堆保存實體類狀態的數據結構,針對實體類的不同狀態(四種,managedh或detached等)可以做出不同的反應(merge,persist等等),其實就是把數據從數據庫里提出,然后在內存里處理的,再返回數據庫的法則。

@Resource

是注入容器提供的資源對象,比如SessionContext MessageDrivenContext。或者你那個name指定的JNDI對象

可以理解為資源->數據源->也就是數據連接,基本上就是告訴程序數據庫在哪里 

JPA中為什么EntityManager的注解要用@PersistenceContext

在使用SpringJPA的時候,看到如下代碼

 @PersistenceContext
 private EntityManager entityManager;

于是就有些好奇,這個@PersistenceContext是幾個意思,如果是實體注入的話,統一采用

@Autowired可以嗎?于是上網查了下,幾乎所有的EntityManager都是采用這個注解的,就去找了找原因。

往DAO類中注入@PersistenceContext和@Resource有什么區別

根據上面的描述,總結如下

  • @PersistenceContext是jpa專有的注解,而@Autowired是spring自帶的注釋

  • EntityManager不是線程安全的,當多個請求進來的時候,spring會創建多個線程,@PersistenceContext就是用來為每個線程創建一個EntityManager的,而@Autowired只創建了一個,為所有線程共用,有可能報錯

  • 在使用EntityManager的時,請采用@PersistenceContext進行注解,而不要使用@Autowired

讀到這里,這篇“往DAO類中注入@PersistenceContext和@Resource有什么區別”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南昌市| 陇南市| 文安县| 金乡县| 界首市| 龙山县| 称多县| 商都县| 磴口县| 米脂县| 萨嘎县| 德庆县| 余庆县| 南汇区| 曲阳县| 西乌珠穆沁旗| 伊吾县| 贵州省| 天峻县| 确山县| 乐至县| 昌黎县| 玉田县| 应用必备| 万年县| 康平县| 耒阳市| 武安市| 吉木萨尔县| 沙坪坝区| 博爱县| 布尔津县| 东丰县| 苏州市| 安吉县| 巴中市| 大悟县| 漳州市| 东阳市| 建湖县| 上犹县|