/ / È possibile mappare due istanze dello stesso oggetto in un'entità JPA? - java, jpa

È possibile mappare due istanze dello stesso oggetto in un'unica entità JPA? - java, jpa

Ho un'entità come questa:

@Entity
@Table(name = "ROOM")
public class Room implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "room_id")
private Integer id;

@Column(name = "number")
private String number; //immutable

@Column(name = "capacity")
private Integer capacity;

}

Come posso mappare due istanze di Room in un'altra entità ... Come questo:

@Entity
@Table(name = "BUILDING")
public class Building implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "building_id")
private Integer id;

@Column(name = "LeftRoom")
private Room left;

@Column(name = "RightRoom")
private Room right;

}

risposte:

-1 per risposta № 1
@Entity
@Table(name = "ROOM")
public class Room implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "room_id")
private Integer id;

@Column(name = "number")
private String number; //immutable

@Column(name = "capacity")
private Integer capacity;

@ManyToOne
@JoinColumn(name="BUILDING_ID", nullable=false)
private Building building;
}

@Entity
@Table(name = "BUILDING")
public class Building implements Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "building_id")
private Integer id;

@Column(name = "LeftRoom")
private Room left;

@Column(name = "RightRoom")
private Room right;

@OneToMany
private List<Rooms> rooms;

}