0
私はユーザークラスがあります。HibernateでXMLから主キーを生成する方法は?
public class User{
private Long userId;
}
をそして、私は、XMLでこれを使用しています:
<id name="userId" type="long" unsaved-value="null">
<column name="USER_ID" not-null="true" />
<generator class="native" />
</id>
しかし、私は私がオブジェクトにはuserIdを割り当てずにユーザーオブジェクトを保存しようとしています次のエラーが発生しました:
Caused by: java.sql.SQLException: Field 'USER_ID' doesn't have a default value
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)
... 22 more
私はIDを生成するためにHibernateを設定します。私はここで何が欠けていますか?あなたがUSER_ID列
ALTER TABLE users ADD USER_ID INT UNSIGNED NOT NULL AUTO_INCREMENT;
native
命令にautoincrement
を設定する必要が