gpt4 book ai didi

java - Spring 数据 : How to save entity when field spit between two classes

转载 作者:行者123 更新时间:2023-11-29 04:35:08 24 4
gpt4 key购买 nike

为了创建实体,我使用了 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 中。你能举例说明我做错了什么以及如何解决吗?

最佳答案

确保使用 @MappedSuperclass 注释 AbstractEntity。否则,Hibernate 会将 AbstractEntity 中的属性视为不属于持久性模型的一部分。

关于java - Spring 数据 : How to save entity when field spit between two classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41927637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com