【发布时间】:2021-01-31 01:05:37
【问题描述】:
是否可以将字段类型指定为实体中的另一个对象,而无需将该对象也指定为实体?
在此示例中,每个块都有一个 Location,其中包含有关该位置状态的各种信息。
@Entity
public class Block {
@Id
@GeneratedValue
private long id;
private String name;
private int quantity;
private double buyPrice;
private double sellPrice;
@ManyToOne
private Player player // <-- is another Entity
private Location location // <-- is not an Entity. Contains various fields regarding the block's location information.
...
}
从数据库的角度来看,我希望所有的块数据及其对应的位置数据都在一个表中,因为它是一个一对一的关系,否则会导致不必要的连接和复杂性。
从 OOP 的角度来看,我希望特定于块位置的字段包含在单独的对象中,以便轻松区分块状态和位置状态。
我知道我可以创建 DTO 并以我想要的任何方式映射数据,但我想知道是否有任何方法可以“开箱即用”完成此任务
【问题讨论】:
标签: spring spring-boot jpa entity