Entity Class と Entity Manager を使用して、データベース (MySQL) にレコードを挿入しようとしています。ただし、フィールドの 1 つは自動インクリメントの主キーであるため、手動で値を指定しない限り、挿入は成功しません。
public boolean newContributor(String name, String email, String country, Integer contactable, String address) {
Contributors contributor = new Contributors(); //entity class
contributor.setId(??????); //this is Primary Key field and is of int datatype
contributor.setName(name);
contributor.setEmail(email);
contributor.setCountry(country);
contributor.setContactable(contactable);
contributor.setAddress(address);
em.persist(contributor);
return true;
}
そのような問題を解決する方法は?ID フィールドなしで挿入を試み、NULL
代わりに値を使用するようにエンティティ マネージャに指示する方法はありますか。
更新:これは、エンティティ クラスを定義する部分です。id
...
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "id")
private Integer id;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 50)
....