我有一個春天JPA的數據存儲庫這樣的方法:@Transactional(唯讀=真)VS @QueryHints
//@QueryHints({ @QueryHint(name = "org.hibernate.readOnly", value = "true") })
@Transactional(readOnly = true)
Account findByUsername(String username);
當Account
髒,Hibernate試圖刷新它調用此方法時 - 我不想要。我認爲將其設置爲@Transactional(readOnly = true)
可能有助於此,但事實並非如此。有趣的是使用@QueryHints
與具體的冬眠提示確實工作。現在我想知道爲什麼。 @Transactional(readOnly=true)
不應該有相同的效果?
選項2b聽起來很有趣,但我使用Spring Data Repositories,其中Spring Data根據接口方法名自動生成查詢。所以我沒有把實際的查詢拿到手中。因此,我想我可以通過註釋添加該提示,Spring會爲我提供它並將其設置爲它生成的查詢。當然,我可以創建自己的Repository Impl並在那裏做這些工作,但我很懶惰:)。 – javg
我明白了你的觀點,但隨着自動配置的方便,需要處理的定製案例的痛苦。工具不能考慮你想做的所有事情。想象一下,沒有人會需要開發人員了.. –
多一個選項來到我的腦海 –