用于创建实体我使用2个类:
我所有实体的基本类(没有类级别的任何注释)
public abstract class AbstractEntity {
@Column(name ="date_of_creation",nullable = false)
private LocalDateTime dateOfCreation;
@Column(name="date_of_disable")
private LocalDateTime dateOfDisable;
@Column(name="date_of_update")
private LocalDateTime dateOfUpdate;
@Column(name="version_update")
private Integer updateVersion;
和实体
@Entity
@Table(name = "cars")
public class Car extends AbstractEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name="car_number", nullable = false, length = 10)
private String carNumber;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "brand_id", nullable = false)
private CarBrand carBrand;
我也有一个Spring Data DAO课程:
public interface CarDAO extends CrudRepository<Car, Long> {
@Override
List<Car> findAll();
List<Car> findAllByCarNumber(String carNumber);
}
问题是当我调用carDAO.save(car)
时,在AbstractEntity(dateOfCreation,date_of_disable,date_of_update和version_update)中初始化的实体字段中的数据不会保存到DB中。
你能解开我做错了什么以及如何解决它?
答案 0 :(得分:3)
确保使用AbstractEntity
为@MappedSuperclass
添加注释。否则,Hibernate会将AbstractEntity
中的属性视为持久性模型的一部分。