我們正在編寫一個針對現有數據庫的新應用程序。我使用Spring數據JPA,並簡單地做一個如何在save()之前停止彈簧數據JPA執行SELECT?
MyRepository.save()
在我的新實體
,使用
MyRepository extends CrudRepository<MyThing, String>
我注意到在冬眠插入之前做一個選擇的日誌,以及即使使用索引,他們也需要很長時間。
我在這裏搜索了這個,而answers I've found通常與Hibernate有關。我對JPA相當陌生,看起來JPA和Hibernate好像緊密交織在一起,至少在Spring Data的環境中使用它。鏈接的答案建議使用Hibernate persist(),或者以某種方式使用會話,可能來自entityManager?我沒有必須直接使用會話或實體管理器或任何Hibernate API。到目前爲止,我已經在我的存儲庫中使用save()和一對@Query完成了簡單的插入操作。
你使用autegenerated id爲你的實體? – Zeromus
不可以,我們在2張桌子上看到這種情況。其中一個是主鍵的單個字段,我們實際上是從另一個預生成的數字表中獲得的。我爲該表使用了一個簡單的ID。另一個是複合標識,我使用EmbeddedId – user26270
能夠看到你引用的sql日誌會有用。 – Gimby