Groovy Mixin与JPA的持久性

时间:2013-02-01 21:56:35

标签: jpa groovy mixins

我想在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
}

1 个答案:

答案 0 :(得分:1)

由于@Mixin是动态的,我怀疑JPA能够找到你的混合属性。我认为你需要一些编译时代码生成,比如@Delegate。即便如此,JPA仍会尝试保留生成的属性。有discussion in groovy mailing列表有关@Trait注释的创建,可能是您想要的。