LocalDateTime
包java.time
中的类是基于值的类。如果我有一个使用这样的对象作为字段的实体,我会遇到以下“问题”:不应序列化基于值的类。但是,JPA 实体必须实现接口 Serializable。这个悖论的解决方案是什么?不应该有人使用 LocalDateTime 作为 JPA 实体的字段吗?改用日期?这将是不令人满意的。
这个问题是声纳规则squid:S3437
,因此项目中有很多错误,因为我们从 Date 更改为 LocalDateTime ...
由于基于值的类使用导致不合规的解决方案:
@Entity
public class MyEntity implements Serializable{
@Column
private String id; // This is fine
@Column
private LocalDateTime updated; // This is not ok, as LocalDateTime is a value based class
@Column
private Date created; // This however is fine..
}