我正在嘗試做類似下面的事情。
@Entity
@Table(name="Sample")
public record Sample(Integer id, String name) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="user_id")
private Integer id;
@Column(name="username")
private String name;
}
但是,它給了我錯誤“記錄中不允許用戶宣告的非靜態欄位 id”,并且對于名稱欄位也是如此。
有沒有辦法通過 JPA 注釋使用新的 Java 功能“記錄”?
uj5u.com熱心網友回復:
請參閱Billy Korando的文章,在 JPA 中使用記錄作為投影。以下是一個簡短的總結。
記錄不能是物體
Jakarta Persistence ( JPA;以前的Java Persistence API)實作(例如Hibernate)依賴于JEP 395禁止或不推薦的功能:記錄規范:無引數建構式、非最終欄位、設定器等。
? 所以,不,記錄不能用作 JPA Entity。
記錄的其他用途
您可以將記錄用于:
CriteriaBuilderTypedQueryNativeQuery- 映射定義
Spring data 也有一些支持。
有關詳細資訊,請參閱上面鏈接的那篇文章,以及指向其他兩篇文章的鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/407069.html
標籤:
上一篇:如何修復無法延遲初始化集合
