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;
}