次のエンティティ クラスがあります。
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "Id")
private Integer id;
@Size(max = 255)
@Column(name = "Senha")
private String senha;
@Size(max = 255)
@Column(name = "Nome")
private String nome;
@ManyToMany(mappedBy = "usuarioCollection", fetch = FetchType.EAGER)
private Collection<Grupo> grupoCollection;
}
と
public class Grupo implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "Id")
private Integer id;
@Size(max = 255)
@Column(name = "Nome")
private String nome;
@JoinTable(name = "usuario_grupo", joinColumns = {
@JoinColumn(name = "GrupoID", referencedColumnName = "Id")}, inverseJoinColumns = {
@JoinColumn(name = "UsuarioID", referencedColumnName = "Id")})
@ManyToMany(fetch = FetchType.EAGER)
private Collection<Usuario> usuarioCollection;
}
これらのコードは netbeans によって生成されました。
JPAで永続化しようとすると
entityManager.persist(usuario);
実行されますが、usuario_grupo テーブルにレジスタがありません。
つまり、usuario はテーブルに登録されています (グループは既にテーブル grupo に存在します) が、usuario_grupo は登録されていません。
これを適切に行う方法を知っていますか?
注: 一部の名前はポルトガル語です。