Flo*_*art 17 java uuid hibernate
我正在尝试使用没有@Id注释的生成的UUID,因为我的主键是其他东西.该应用程序不会生成UUID,您有什么想法吗?
这是我的声明:
@Column(name = "APP_UUID", unique = true)
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String uuid;
Run Code Online (Sandbox Code Playgroud)
我正在使用Hibernate 4.3.0和Oracle10g.
检查Javadoc GeneratedValue:
提供主键值的生成策略的规范.
换句话说 - 仅使用注释来初始化'无ID'属性是不可能的.
但你可以使用@PrePersist:
@PrePersist
public void initializeUUID() {
if (uuid == null) {
uuid = UUID.randomUUID().toString();
}
}
Run Code Online (Sandbox Code Playgroud)
试试这可能有所帮助
@Id
@GeneratedValue(generator = "hibernate-uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "uuid", unique = true)
private String uuid;
Run Code Online (Sandbox Code Playgroud)
阅读此链接阅读hibernate文件是可能的
| 归档时间: |
|
| 查看次数: |
16256 次 |
| 最近记录: |