[英]Why does Hibernate detect null value? (using session.save())
[英]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.