私は1対多の関係の1つに問題があります。 私の問題は、テナントをアパートメントに追加するときに、テナントの列の値をApartmentIDに設定しないことです。私は他のクラスとまったく同じ関係にあり、彼らはうまく働いています...なぜ誰にもわからないのですか? おかげjpa hibernate one-to-many双方向
アパート:
@Entity
public class Apartment {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="ApartmentID",unique = true, nullable = false)
public int apartmentID;
@OneToMany(mappedBy = "apartment", cascade = CascadeType.ALL)
private List<Tenant> tenants;
}
テナント:あなたがここにすべてのコードを示していない
@Entity
public class Tenant {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="TenantID",unique = true, nullable = false)
public int tenantID;
@ManyToOne
@JoinColumn(name = "ApartmentID")
private Apartment apartment;
}
あなたは値を両側に設定しているので、それをしたくありません。私がapartment.setTenants()を実行してそれを永続化/マージすると、そのフィールドのアパートに更新されたテナントが必要ですが、私はそうしません。ここで不思議なのは、私も住居と家主が1対1の関係を持ち、完璧に働いているということです。 もし私が望むのであれば私のモデルのペーストビンを追加することができますが、すべてが問題ないと確信しています – baskwo