什么是定义 JPA 实体 ID 的“kotlin 方式”?
@Entity
data class User (
@Id @GeneratedValue
var id: Long? = null,
...
)
Run Code Online (Sandbox Code Playgroud)
或者有没有更好的方法来避免可空 ID?
phi*_*sch 10
您可以使用 0 值而不是空值。
@Entity
data class User (
@Id @GeneratedValue
var id: Long = 0,
...
)
Run Code Online (Sandbox Code Playgroud)
自动生成仍应找到下一个序列。
Kotlin 编译为 Java,它同时具有原始类型long和类Long
根据第11.1.21节Id 注释中的Java 持久性规范, 两者都可用于 Id:
应用 Id 注释的字段或属性应该是以下类型之一:任何 Java 原始类型;任何原始包装类型;java.lang.String; java.util.Date; java.sql.Date; java.math.BigDecimal; java.math.BigInteger[109]。
使用类比原始类有优势,因为null它具有更明确的含义。但是从规范来看,两者都是可能的,你必须决定你喜欢 Kotlins nullsafety 而不是 jpa 风格的天气,或者相反。
| 归档时间: |
|
| 查看次数: |
6068 次 |
| 最近记录: |