@CollectionOfElements的Hibernate Null值

bco*_*ery 7 collections hibernate

我正在使用@CollectionOfElements将一组属性映射到我的实体.这里的目标是能够提供可以在查询中使用以提取特定条目的元数据列表.

我已经找到了映射以及如何运行我想要的查询.问题是hibernate不会持久化null值!


    @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);
    }
Run Code Online (Sandbox Code Playgroud)

例如.object.addAttribute("someName",null); 不会坚持下去

任何人都有任何想法如何实现这一点,而不实现一个键/值对实体只是为了持久化这些值?

问候,

Gar*_*owe 2

引用OP评论:

Hibernate 3.3.2.GA,所以是的 - 看起来这个错误适用。我能够通过显式地将空值设置为“*”字符来解决该问题,该字符实际上工作得很好,并且比“空”更适合我的用例。

在进行接近投票之前,这个答案应该将其从未回答的问题列表中删除。