1
DBを処理するために休止状態と春のデータを使用しています。私は以下のエラーに陥っています。私はdbでもデフォルト値を設定しようとしましたが、この問題を解決するものは何もありません。私が間違って行っている:休止状態のエラーフィールドにデフォルト値がありません
エラー:
Caused by: java.sql.SQLException: Field 'USERNAME' doesn't have a default value
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3835)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3771)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2535)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1911)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2145)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2081)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2066)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)
テーブルクエリ:
CREATE TABLE `User` (
`USERNAME` varchar(60) NOT NULL,
`PASSWORD` varchar(45) NOT NULL,
`IS_ACTIVE` char(1) NOT NULL,
`NAME` varchar(100) NOT NULL,
`EMAIL` varchar(100) NOT NULL,
`PHONE` varchar(45) NOT NULL,
PRIMARY KEY (`USERNAME`)
ユーザーPOJO:
@Entity
@Table(name= "User")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "USERNAME")
private String username;
@Column(name = "PASSWORD", nullable = false)
private String password;
@Column(name = "IS_ACTIVE", nullable = false)
private boolean isActive;
@Column(name = "NAME", nullable = false)
private String name;
@Column(name = "email", nullable = false)
private String email;
@Column(name = "phone", nullable = false)
private String phone;
@OneToOne(mappedBy = "user", cascade=CascadeType.ALL)
private UserRole userRole;
}
削除セッターと読みやすくするためのゲッター。
Userオブジェクトを作成してデータベースに保持するJavaコードを提供できますか? – mateuszlo