1、父类
@Embeddable
@Inheritance(strategy = JOINED)
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
@Column
@Temporal(TemporalType.TIMESTAMP)
private Date updateDate;
...
//省去get\set
}
2、子类
@Entity
@Table(name = "user")
public class UserEntity extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String user;
private String password;
private String role;
private String tel;
private String mail;
...
}
3、Repository接口
@Repository
public interface UserRepository extends CrudRepository<UserEntity , Long> {
public UserEntity save(UserEntity user);
}
``
4、controller中调用save方法的时候,
user.setCreateDate(new Date());
这个方法最终并没有被save进去,不知打为何
下面是springboot打印的日子
Hibernate: insert into user (mail, password, role, tel, user) values (?, ?, ?, ?, ?)
com.example.demo.entity.UserEntity@78730d83
可以看到里面并没有createDate
基类
BaseEntity
加上@MappedSuperclass
注解,包javax.persistence.MappedSuperclass
可以参考 JPA @MappedSuperclass 注解说明