Mapping Map using Hibernate

2019-03-20 18:08发布

问题:

It seems that everywhere I look, there are outdated versions of this which no longer work. My problem seems really simple. I have a class in Java, which maps to a derby database. I'm using annotations, and have successfully managed to create all the other tables in my DB, yet with this specific example, where I just need a Map, which does not use any other class, just two simple string values. I have come across all types of errors trying everything I've found online.

Does anybody know of a simple way of doing this, without using deprecated annotations?

Thanks in advance!

回答1:

Chapter 2.2.5.3.4 of Hibernate Annotations documentation describes the necessary annotations. You need to do something like:

@Entity
public class MyEntity {
    ...

    @ElementCollection // this is a collection of primitives
    @MapKeyColumn(name="key") // column name for map "key"
    @Column(name="value") // column name for map "value"
    public Map<String,String> getMyMap() {

    ...
}