簡體   English   中英

SimpleJpaRepository不修改持久實體

[英]SimpleJpaRepository does not modify persisted entity

當我使用SimpleJpaRepository#save()持久存儲實體時,它將不會對其進行修改。 例如,它將不會設置實體的新ID。

除此之外,一切正常。 該實體將被保留並賦予ID。 如果我從數據庫中讀取它,則可以看到ID。 這是正常行為嗎? 我知道#save方法會返回持久實體,但我希望它可以修改給定實體。 有沒有配置的方法?

謝謝

-編輯

假設這是我的工作:

User user = new User();
// do something with user

userRepository.save(user);

然后user保持不變。 該對象寫入數據庫,但用戶未被管理。 另外saveAndFlush(user)不會導致不同的行為。 我能做的是user = userRepository.save(user) 在這種情況下,用戶成為托管實例。 但是從Hibernate中,我習慣於僅保存對象,並且提交的對象成為托管對象。 是否可以使用JPA存檔?

請檢查實體中的@Id配置。 請確保您已在Id屬性上正確定義@GeneratedValue 該屬性在區分insert操作和update操作方面起着關鍵作用。

暫無
暫無

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

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