Hibernate 休眠@CollectionFements的空值
我正在使用@CollectionFements将一组属性映射到我的实体。这里的目标是能够提供一个元数据列表,可以在查询中使用该列表来提取特定的条目 我已经找到了映射以及如何运行我想要的查询。问题是hibernate不会保留空值Hibernate 休眠@CollectionFements的空值,hibernate,collections,Hibernate,Collections,我正在使用@CollectionFements将一组属性映射到我的实体。这里的目标是能够提供一个元数据列表,可以在查询中使用该列表来提取特定的条目 我已经找到了映射以及如何运行我想要的查询。问题是hibernate不会保留空值 @CollectionOfElements() @JoinTable(name = "plan_attribute", joinColumns = @JoinColumn(name = "plan_id")) @MapKey(columns =
@CollectionOfElements()
@JoinTable(name = "plan_attribute", joinColumns = @JoinColumn(name = "plan_id"))
@MapKey(columns = @Column(name = "attribute_name", nullable = false, length = 255))
@Column(name = "attribute_value", nullable = true, length = 255)
public Map getAttributes() {
return attributes;
}
public void setAttributes(Map attributes) {
this.attributes = attributes;
}
public void addAttribute(String name, String value) {
this.attributes.put(name, value);
}
例如object.addAttribute(“someName”,null);不会持久化
有人想过如何实现这一点,而不只是为了保持这些值而实现键/值对实体吗
关于,引用OP评论:
Hibernate 3.3.2.GA,所以是的,它看起来 就像那个错误一样。我能够 通过显式地解决问题 将空值设置为“*”字符 这实际上非常有效,而且 比“null”更适合我的 用例
这个答案应该在投票结束前将其从未回答问题列表中删除。您使用的是什么版本的Hibernate?我想知道这是否与.Hibernate 3.3.2.GA有关,所以是的-看起来这个bug适用。我能够通过显式地将空值设置为“*”字符来解决这个问题,这实际上非常有效,并且比我的用例中的“null”更适合,回答你自己的问题并将其标记为已接受的答案是一个好主意。我偶然发现这个问题,因为它被标记为未回答。你真的应该把它关掉。