【发布时间】:2018-09-20 04:17:20
【问题描述】:
我正在使用下面的 sql 查询在 postgres DB 中创建一个表。
CREATE TABLE IF NOT EXISTS data
(
id serial,
created_at timestamp(0) without time zone DEFAULT (now())::timestamp(0) without time zone,
created_by integer NOT NULL
);
实体类:-
@Entity
@Table(name = "data")
@Getter
@Setter
public class Data implements Serializable {
private static final long serialVersionUID = 7462797749946000617L;
public Data() {
}
public Data(Integer createdBy) {
super();
this.setCreatedBy(createdBy);
}
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "created_at")
private Timestamp createdAt;
@Column(name = "created_by")
private Integer createdBy;
}
当我插入数据时,例如 Date data=new Data("12312442");
LogsRepository.save(data);
“created_at”值在 DB 中被保存为空值。谁能告诉我我做错了什么?
【问题讨论】:
-
很可能你的混淆层(又名“ORM”)正在显式发送
NULL值 -
是的,就是这样..那么我该如何避免呢?
标签: java postgresql spring-boot jpa