Spring Data JPAフレームワークを使用して簡単なToDoオブジェクトを作成しようとしていますが、できません。ID値が自動的に生成されない
リポジトリでsaveメソッドを呼び出すときに、IDの値がnullであるというSQL例外が発生します。私のToDoクラスのコードは以下の通りです。
package demo.entity;
import javax.persistence.*;
/**
* Created by MJ on 12/19/2016.
*/
@Entity
@Table(name="TODOS")
public class ToDo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true)
private Long id;
@Column
private String description;
@Column
private String title;
public ToDo(String description, String title){
this.description = description;
this.title = title;
}
}
私の理解によれば、これは自分のIDを生成するはずです。しかし、私は何が欠けているか分からない。誰も助けることができますか?
これは、私は、このクラスのオブジェクトを作成し、DBに保存しようとしている方法です:事前に
ToDo toDo = new ToDo("First","TODO");
repository.save(toDo);
感謝。
idの@Columnを追加する必要はありません。私が知っているように、IDENTITYはすべてのデータベースで動作しません。 GenerationType.AUTOを設定するとうまくいきますか? – XtremeBaumer
あなたのDBMSは何ですか? – Andremoniy
@CoulumnとGenerationType.AUTOを使わずに試しましたが、同じエラーが発生しました。 – Logan