我有这个逻辑:
@GenericGenerator(
/**
* This one works as GenerationType.IDENTITY but works for table per subclass inheritance as well!
*/
name = "abc",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = SequenceStyleGenerator.INITIAL_PARAM, value = "" + MoJVEntity.Keys.INDEX_START),
@Parameter(name = SequenceStyleGenerator.CONFIG_PREFER_SEQUENCE_PER_ENTITY, value = "true" ),
@Parameter(name = SequenceStyleGenerator.OPT_PARAM, value = "hilo" )
}
)
我要么被迫在子类上使用,要么复制并粘贴每个需要来自此生成器的id的实体类。
只需定义一次就好了,因为你必须使用:
@Id
@GeneratedValue(generator = "abc")
Long id;
无论如何。
是否可以在MappedSuperClass或任何类级别上使用? (类级别与声明@Id在同一个类中不起作用,但我希望只定义一次)
文档说类级别和包级别应该有效,但是我无法使用它。