當我堅持一個包含訂單的清單時,數據庫中的結果具有不同的順序。如何在JPA中保持與列表順序的多對多關係?JPA:如何在多對多關係中保存訂單
@Entity
@Table(name = "house")
public final class House {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic(optional = false)
@Column(name = "name")
private String name
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "house_room",
joinColumns =
@JoinColumn(name = "id_house", referencedColumnName = "id"),
inverseJoinColumns =
@JoinColumn(name = "id_room", referencedColumnName = "id"))
private List<Room> rooms;
}
房屋目標:
Room room1 = new Room();
room1.setName("Kitchen");
Room room2 = new Room();
room2.setName("Bathroom");
Room room3 = new Room();
room3.setName("Bedroom");
List<Run> runs = new ArrayList<Run>();
rooms.add(0,room2);
rooms.add(1,room1);
rooms.add(2,room3);
House cottage = new House();
cottage.setRooms(rooms);
persist(cottage); // order in database should be "room2", "room1" then "room3" but it is saved as "room1", "room2" then "room3"
數據庫記錄沒有「訂單」。 – Jens
什麼是'seq'? – user902383
已更正。我的錯誤 – sina