簡體   English   中英

事務注釋的不同行為

[英]Transactional annotation different behavior

我剛剛看到了兩個不同的項目。

在其中之一中,每當您嘗試從沒有@Transactional批注的方法中保留/保存實體時,都會出現一個異常,指出:未No session found

在另一

即使不存在@Transactional注釋, save方法也可以保存。

PS-一個項目使用Spring + Hibernate( session not found異常),另一個項目使用Spring + JPA + Spring Data存儲庫(允許保存而沒有事務注釋)

有什么想法為什么會有區別嗎? 最佳做法是什么?

這是因為,如Spring Data JPA 的文檔所示

默認情況下,存儲庫實例上的CRUD方法是事務性的。 對於讀取操作,事務配置的readOnly標志設置為true,所有其他事務都配置有簡單的@Transactional,以便應用默認事務配置。 有關詳細信息,請參見存儲庫的JavaDoc。

暫無
暫無

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

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