我有一个Game
课程,每个游戏都有很多Round
个实例(一对多)。这两个类都有一个自动递增的id
字段作为主键。
我希望Round
有另一个名为ordinal
的字段,每当我创建与单个Round
关联的新Game
对象时,ordinal
该字段将自动填充该特定游戏的下一个序号 。
示例:
Game(id=71)
Round(id=389, game_id=71, ordinal=0)
ordinal
字段的值表示:Round(id=514, game_id=71, ordinal=1)
类Round
在定义中有以下行(尽管我不是100%认为这是正确的方法):
`@Table(uniqueConstraints = @UniqueConstraint(columnNames = {"ordinal", "game_id"}))`
我可以查询该特定游戏的所有Round
个对象,查看最后一个ordinal
的内容,并手动将新ordinal
设置为一个以上。但我想知道是否有一些内置机制可以帮助我。希望有一些注释(如@UniqueConstraint
)。
我正在使用Java 7,Hibernate(JPA 2)以及MySQL和H2数据库。
答案 0 :(得分:0)
您可以使用注释@OrderColumn(name =" ordinal")。将其添加到Round集合中。它定义表中列的名称,包含列表中的索引。