我需要一些有关休眠注释的帮助。
我有以下 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) 我的更改永远不会保存到数据库中。它也没有抛出任何错误。
我在休眠示例中看到我可以将 customId 定义为自定义对象,而不是 KeyValue 表中的 Long,但我不想这样做。
我是否错误地设置了我的实体?