0
私はIDなしsave
エンティティにしようとすると、SpringのJpaRepositoryが例外をスロー:春JPAがヌル等しいidを持つエンティティを挿入します(自動生成されなければならない)
id
フィールドを含まないようにする方法
MyConfig config = new MyConfig();
config.setValue("value");
myConfigRepository.save(config);
?
org.h2.jdbc.JdbcSQLException: NULL not allowed for column "MY_CONFIG_ID"; SQL statement:
insert into my_config (value, id) values (?, ?) [23502-190]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.table.Column.validateConvertUpdateSequence(Column.java:305)
at org.h2.table.Table.validateConvertUpdateSequence(Table.java:749)
at org.h2.command.dml.Insert.insertRows(Insert.java:151)
at org.h2.command.dml.Insert.update(Insert.java:114)
at org.h2.command.CommandContainer.update(CommandContainer.java:78)
at org.h2.command.Command.executeUpdate(Command.java:253)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:345)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:159)
at java.lang.Thread.run(Thread.java:745)
私のエンティティ:
@Entity
public class MyConfig {
@Id
@SequenceGenerator(sequenceName = "MY_CONFIG_SEQ", name = "MyConfSeq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MyConfSeq")
private Long id;
@Column
private String value;
//getters & setters
とリポジトリ:
public interface MyConfigRepository extends JpaRepository<MyConfig, Long>, JpaSpecificationExecutor {}
どこにでもマッピングされた 'MY_CONFIG_ID'列が表示されません。それは' not null'制約付きの特別な(マップされていない)列ではないと確信していますか? – Tobb
'idカラム' @Column(name = "MY_CONFIG_ID")アノテーションを追加するだけです。 –
あなたのDBスキーマを見れば、あなたが知っておくべきこと、 –