これは私のモデルクラス属性です
@Column(name = "createdate")
@Type(type="long_timestamp")
private Date creationDate;
これは私のタイプ定義です
@TypeDef(
name="long_timestamp",
typeClass = com.x.LongTimestampType.class
),
私の LongTimestampType.java を参照してください
public class LongTimestampType extends TimestampType {
@Override
public String objectToSQLString(Date value, Dialect dialect)
throws Exception {
return "" + ((Date) value).getTime();
}
@Override
public Object get(ResultSet rs, String index) throws HibernateException, SQLException {
return new Date(rs.getLong(index));
}
@Override
public void set(PreparedStatement ps, Date value, int index, SessionImplementor sessionImplementor) throws HibernateException, SQLException {
System.out.println("set Date as BIGINT into Prepared Statement :: " + ((Date)value).getTime());
ps.setLong(index, ((Date)value).getTime());
}
@Override
public String getName() {
return "long_timestamp";
}
public int[] sqlTypes() {
return new int[] { Types.BIGINT };
}
/* public int sqlTypes() {
return Types.BIGINT;
}*/
}
これは私のMySqlテーブルの列です
createdate bigint(20) NULL
このオブジェクトを保存するための私のJavaコードは
entityManager.persist(object);
私の問題は、オブジェクトをテーブルに保存しようとすると、次のようにスローされます: createDate にもnulljava.sql.BatchUpdateException: Data truncated for column 'createdate' at row 1
を
設定します。この問題を解決するための解決策を教えてください