私は、CRUD操作を実行するために休止状態を使用しているプロジェクトに取り組んでいます。私はユーザモデルを持っていると私は情報を挿入しようとしているが、維持、このエラーを取得しています(HibernateのOracleはNULLを挿入できません)自動生成されたIDの挿入方法は?
Hibernate: insert into APPUSER (dob, email, firstName, lastName, password) values (?, ?, ?, ?, ?)
Jun 21, 2016 2:17:07 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 1400, SQLState: 23000
Jun 21, 2016 2:17:07 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: ORA-01400: cannot insert NULL into ("MYAPP8785"."APPUSER"."ID")
ユーザモデルが見えます
よう@Entity
@Table(name="APPUSER")
public class AppUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Email
@Size(max = 50)
private String email;
@Column
private String dob;
@Column
private String firstName;
@Column
private String lastName;
@Column(name = "password", nullable = false)
private String password;
}
properties.put("hibernate.dialect","org.hibernate.dialect.MySQLDialect");
//properties.put("hibernate.current_session_context_class","thread");
properties.put("hibernate.hbm2ddl.auto","update");
properties.put("hibernate.show_sql","true");
よう
Hibernateのプロパティ私は下ですhibernateが自動的に私のIDを生成し、シーケンスを使って挿入する印象
使用しているOracleのバージョンは? –
私はoracleを使用しています11g – user3342812
IDの生成にシーケンスを使用する場合は、アノテーションでそのシーケンスを構成する必要があります(GenerationType.SEQUENCE)。 OracleではID列はサポートされていないため、現在のID生成構成は無効です。 – dunni