如何在JPA中级联ElementCollection(eclipselink)

时间:2013-10-19 22:17:00

标签: mysql java-ee jpa eclipselink

EclipseLink 4.2,Glassfish,JavaEE6

我正在为EclipseLink寻找@OnUpdateCascade注释的等价物,因为这个注释不存在(为什么?)。

我正在修改用户的电子邮件,其中另一个表中的外键“user_groups”引用。因此,我得到一个MySQL外键约束错误。除了手动改变外键索引以包括'ON UPDATE CASCADE'之外,我无论如何都找不到。

任何替代方法,甚至功能不存在的原因(@OnDeleteCascade存在)都将受到赞赏。

public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    @Column(unique = true, nullable = false)
    private String email;

    @ElementCollection(targetClass = Group.class, fetch = FetchType.EAGER) 
    @CollectionTable(name = "users_groups",
            joinColumns =
            @JoinColumn(name = "email", nullable = false, referencedColumnName = "email"))
    @Enumerated(EnumType.STRING)
    @Column(name = "groupname", nullable = false)
    private List<Group> groups;
}

0 个答案:

没有答案