簡體   English   中英

為什么session.save(object)在休眠狀態下不會自動設置ID?

[英]why session.save(object) does not set id automatically in hibernate?

我將hibernate用作應用程序的JPA提供程序,現在我需要我需要最近存儲的請求對象的ID,但是當我執行request.getId它會輸出null

System.out.println("before save : request id's = "+request.getId());   
session.save(request);    
System.out.println("after save : request id's = "+request.getId());

我遵循了這個問題

此代碼的輸出:

before save : request id's = null

after save : reqeust id's = null

public class Request implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

由於ID是由數據庫生成的,因此只有在實際寫入實體之后,ID才會存在。 由於休眠試圖延遲實際的寫入操作,因此它可能會保護某些數據庫命中,因此session.save()不一定會觸發ID生成。

嘗試在保存之后添加session.flush() ,然后查看是否填充了ID。

暫無
暫無

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

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