【问题标题】:Configure custom hibernate id generator in spring context在 spring 上下文中配置自定义休眠 id 生成器
【发布时间】:2011-01-07 11:19:13
【问题描述】:

我正在使用 Spring 和 Hibernate,并且我最近创建了一个自定义 Id 生成器。现在,在我的 Java 域对象上,我有:

@GenericGenerator(name="...", strategy="com.acme.MyIdGenerator", ...)

我可以在我的 spring 上下文中创建/配置一个 com.acme.MyIdGenerator 并以某种方式让 Hibernate 使用它而不是让 Hibernate 实例化它吗?

【问题讨论】:

    标签: hibernate spring


    【解决方案1】:

    如果您只是想将生成器与消费者类(或多个类)隔离,您可以在 package-info.java 类中定义生成器。见this example in the test suite

    但如果您真的想在 XML 中映射它,那么您必须将该特定实体映射为 hbm.xml (as seen here) 并将其添加到 Spring 上下文中的 Hibernate 配置中。

    【讨论】:

    • 哇,我不知道你可以注释 package-info.java。酷(+1)
    • 我目前没有 hbm.xml,一切都是基于注释的。你是说我必须创建一个 hbm.xml 才能做到这一点,即使我现在不使用它?
    • @codecraig 正如我所说,您可以使用注释方法,或者,如果您确实需要将其添加为 XML,则应该创建一个 hbm.xml 文件,因为您无法真正配置使用 Spring 的映射。您只需配置 Hibernate(不是映射,AFAIK)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2017-04-25
    • 2011-04-05
    • 2018-12-16
    相关资源
    最近更新 更多