小编dav*_*rie的帖子

Hibernate JPA不在集合表中插入行以获取空值

我已尝试使用List和Map,但我无法弄清楚如何强制Hibernate 3.6.4在这些集合中持久化null值.这就是我尝试过的:

@ElementCollection(fetch=FetchType.EAGER)
@Column(columnDefinition="longtext")
private Map<Integer, String> parameterValues;
Run Code Online (Sandbox Code Playgroud)

@ElementCollection(fetch=FetchType.EAGER)
@OrderColumn
@Lob @Column(length=65535)
private List<String> parameterValues;
Run Code Online (Sandbox Code Playgroud)

如果Map或List包含空值,则Hibernate不会将其持久保存在集合表的行中.从数据库中检索集合时,它的元素数少于存储时的元素数,因为不会还原那些为null的元素.List使用非空值为第一个和最后一个索引之间的索引恢复了空值,但是列出了列表末尾的任何空值.Map仅包含非空值的条目.

我希望这是有道理的.对我来说这似乎是Hibernate中的一个错误,但我希望这是我能用不同配置修复的东西.

collections null hibernate jpa

5
推荐指数
1
解决办法
3271
查看次数

标签 统计

collections ×1

hibernate ×1

jpa ×1

null ×1