1

テーブル/エンティティを設定して、テーブルの最初の列にint値を自動生成します。これは、MySQLを使用するEclipseで今のところ主キーになる可能性があります。次のように正しく設定されているようです。

@Entity
@Table(name="Table")
public class Table implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private int id;

これはデータベースに正常に接続しており、実際にはID以外の部分に値を保持しています。問題は、IDに対して何も生成されないことです。mysqlのデフォルト値は「0」で、id列に配置されます。エラーは発生しません。列が「0」で埋められるだけです。

4

1 に答える 1

1

IDENTITYの生成タイプを使用する場合、データベースがID生成を行うようにJPAに指示します。したがって、AUTO_INCREMENTを使用するように列を設定する必要があります。

于 2012-12-07T17:20:35.323 に答える