【问题标题】:Groovy Mixin persistent properties with JPA使用 JPA 的 Groovy Mixin 持久属性
【发布时间】:2013-02-01 21:56:34
【问题描述】:

我想在 Groovy Mixin 中定义一个 JPA 持久属性,然后在多个实体类中使用它。我无法让它与 JPA 注释和 Hibernate 一起使用 - 有人成功地使用了这种组合吗?

我设置了一个示例 Maven 项目,它显示了我正在尝试做的事情,以及一个定义我想要的行为的 JUnit 测试。

https://github.com/gilday/groovy-mixin-jpa-test

简单地说:

@Category(Person) class HasPreferences {

    @ElementCollection
    final Collection<Preference> preferences = []
}

@Entity
@Mixin(HasPreferences)
class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    long id

    String name
}

【问题讨论】:

    标签: jpa groovy mixins


    【解决方案1】:

    由于@Mixin 是动态的,我怀疑 JPA 能否找到您的混合属性。我认为您需要一些编译时代码生成,例如@Delegate。即便如此,JPA 仍会尝试持久化生成的属性。有一个 discussion in groovy mailing 列表涉及创建 @Trait 注释,这可能是您想要的。

    【讨论】:

    • 我对@9​​87654325@ 的成功参半。我的建议是避免使用它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2012-02-23
    • 2011-09-24
    • 1970-01-01
    • 2011-06-30
    • 2018-05-15
    相关资源
    最近更新 更多