【发布时间】:2019-04-23 10:31:27
【问题描述】:
如何在拥有实体中包含一对一映射实体属性的部分(或全部)属性。
我已经创建了一个例子来考虑这个问题:
@Data // Lombok's to contain all getter and setters
@Entity
@Table(name = "room")
public class Room {
@Column
int length;
@Column
int breadth;
}
@Data // Lombok's to contain all getter and setters
@Entity
@Table(name = "dance_room")
public class DanceRoom {
@Column
int numberOfPeople;
@OneToOne
Room room;
}
现在我希望 DanceRoom 实体在这个实体中也有 length 属性,但它们不应该在 dance_room 数据库表中。
我认为的直接解决方案是:
@Data // Lombok's to contain all getter and setters
@Entity
@Table(name = "dance_room")
public class DanceRoom {
@Column
int numberOfPeople;
@OneToOne
Room room;
public int getLength() {
return room.length;
}
}
是否可以在DanceRoom JPA 实体中创建这些属性并将列保存在room 数据库表中?
或者有没有其他方法可以创建这样的映射?
【问题讨论】: