【发布时间】:2015-07-10 15:59:24
【问题描述】:
我想有一列是唯一的会员编号。使用 Hibernate/JPA 执行此操作的最佳方法是什么?
生成可用作会员编号的唯一整数组合(例如 10 位)的最佳方法是什么?
EDIT
@Generated(GenerationTime.INSERT)
@Column(insertable = false)
private int membernumber;
【问题讨论】:
我想有一列是唯一的会员编号。使用 Hibernate/JPA 执行此操作的最佳方法是什么?
生成可用作会员编号的唯一整数组合(例如 10 位)的最佳方法是什么?
EDIT
@Generated(GenerationTime.INSERT)
@Column(insertable = false)
private int membernumber;
【问题讨论】:
我对该主题进行了一些研究,发现 JPA 规范允许 @GeneratedValue 用于非 ID 列,但 hibernate 不允许。
JPA or Hibernate to generate a (non primary key) column value, not starting from 1
您可以在数据库中使用插入触发器,或者在保存实体之前在您的服务中手动生成它。该链接对此进行了很好的讨论。
希望对你有帮助。
【讨论】: