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;
}