gpt4 book ai didi

java - Hibernate - 如何持久化 Map

转载 作者:搜寻专家 更新时间:2023-11-01 03:22:42 28 4
gpt4 key购买 nike

我找不到我的注释有什么问题(我使用了官方的 hibernate 文档)

public class DashletContainer{

private Map<UUID, DashletData> dashletData = new HashMap<>();
//STUFF

@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "rd_container_data")
@MapKeyColumn(name = "dashletdata_dashlet_id")
public Map<UUID, DashletData> getDashletData() {
return dashletData;
}
}


public class DashletData{

//STUFF

@Column(name = "dashlet_id")
public UUID getDashletId() {
return dashletId;
}

@ManyToOne(cascade = CascadeType.ALL)
public DashletContainer getDashletContainer() {
return dashletContainer;
}
}

这是我在数据库上的连接表(rd_container_data)的结构:

dashletdata_id      | UUID
dashletcontainer_id | UUID
dashletdata_dashlet_id | UUID

问题是当我持久化容器对象时,它里面的 Map 保持为 Null,并且没有任何内容被插入到相应的表中。

谢谢

最佳答案

@dave 尝试在属性 dashletData 上添加 @MapKeyColumn(name = "dashletdata_dashlet_id") 而不是 getter

关于java - Hibernate - 如何持久化 Map<UUID,POJO>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25600244/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com