2

列挙キーとエンティティ値を持つ Map を使用しています。ただし、MySQL データベースで作成された場合、enum キー列は常に null です。誰でも説明を手伝ってもらえますか?

public enum Type{
    A,B,C
}

@Entity
public class Item{
....
.....
        @ManyToOne
    public Container getContainer() {
        return container;
    }

}

@Entity
public class Container {

....
....
        @OneToMany (mappedBy="container")   // bi-directional relation
    @MapKeyEnumerated(EnumType.STRING) 
    @MapKeyColumn(name="type", length = 20, nullable = true) 
    public Map<Type, Item> getItems() {
        return items;
    }
}

また、MapKeyColumn アノテーションについては、デフォルトであるnullable=falseを使用できません。

どうもありがとうございました。

4

0 に答える 0