Hibernateアノテーションについてサポートが必要です。
私は次の2つのエンティティを持っています:
public class Custom {
private Map<KeyObject, ValueObject> properties;
@oneToMany(mappedBy = "customId", cascade = CascadeType.All)
@MapKey(name = "keyObject")
public Map<KeyObject, ValueObject> getProperties();
.....
}
public class ValueObject {
private KeyObject keyObject;
private Long customId;
private String value;
...getters and setters
}
レコードを保存、更新、選択、および削除するための単純なdaoクラスがあります。
Customオブジェクトのマップからレコードを削除してからcustomDao.save(custom)を呼び出すと、変更がデータベースに保持されることはありません。エラーもスローしていません。
Hibernateの例で、KeyValueテーブルでcustomIdをLongではなくCustomオブジェクトとして定義できることを確認しましたが、これは行いたくありませんでした。
エンティティを正しく設定していませんか?