Hibernate,定义一个全局GenericGenerator

时间:2015-02-19 13:25:49

标签: java hibernate java-ee jpa persistence

我有这个逻辑:

@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在同一个类中不起作用,但我希望只定义一次)

文档说类级别和包级别应该有效,但是我无法使用它。

0 个答案:

没有答案