java实体设置扩展属性setextattributes_transactionAttributes各属性意义及配置
在使用spring提供的JpaTemplate進行查詢時,如果數據量超過100 條,查詢效率就會明顯降低。由于開始時使用JPA內部的雙向關聯,造成各實體內部關聯過多,從而影響所有的操作,因此懷疑是因為JPA的關聯關系所致。但是去掉關聯關系后的效果不顯著。
配置問題。
lazy-init="true" abstract="true">
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
使用上述配置,在JPA打出的日志中顯示每次查詢時都要進行更新操作,查閱相關spring 的資料后發現transactionAttributes的各種屬性的意義如下:
事務傳播行為類型
說明
PROPAGATION_REQUIRED
如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。
PROPAGATION_SUPPORTS
支持當前事務,如果當前沒有事務,就以非事務方式執行。
PROPAGATION_MANDATORY
使用當前的事務,如果當前沒有事務,就拋出異常。
PROPAGATION_REQUIRES_NEW
新建事務,如果當前存在事務,把當前事務掛起。
PROPAGATION_NOT_SUPPORTED
以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
PROPAGATION_NEVER
以非事務方式執行,如果當前存在事務,則拋出異常。
PROPAGATION_NESTED
如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。
總結
以上是生活随笔為你收集整理的java实体设置扩展属性setextattributes_transactionAttributes各属性意义及配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人贷款10万怎么贷需要什么条件 个人贷
- 下一篇: Gurman:苹果计划将 MicroLE