为非 PK 字段生成的值
我有一些 BusinessParticipant 的实体,它只是简单的平面实体。并且这些参与者可以根据用户的意愿分组。该组没有数据,只有 id。因此,创建实体和表似乎有点矫枉过正...我希望有 2 个数据库表,一个用于参与者,另一个用于将参与者链接到其所在的组。 问题是我应该如何生成组ID?所有的GenerateValue &公司仅适用于 @id 注释。 有什么方法可以将非PK字段标记为自动生成吗?
I have the entity of some BusinessParticipant, it just simple flat entity. And these Participants may be organized in groups, by user's wish. The group has no data, just id. So creating entity and table seems overkill... I'll wish to have 2 db tables, one for participants and one to link the participant to it's group.
The problem is how should I generate the group id? All the GenerateValue & co. work with @id annotation only.
Are there any way to mark the field that is not PK, to be automatically generated?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我已经为 JPA 创建了一项提案,以支持非 id 字段上的
@GeneratedValue
。请在此处投票,以便将其包含在未来版本中
I have created a proposal for JPA to support
@GeneratedValue
on non-id fields.Please vote here for it to be included in a future release
取决于您的持久性提供商。例如,ObjectDB 支持
@GenerateValue
在正常字段上,但这是非标准功能。如果您使用 Hibernate,则没有干净的方法可以执行此操作,请参阅此 stackoverflow 问题: Hibernate JPA序列(非 ID)Depends on your persistence provider. For example, ObjectDB supports
@GeneratedValue
on normal fields, but this is non-standard functionality. If you're using Hibernate, there's no clean way to do this, see this stackoverflow question: Hibernate JPA Sequence (non-Id)