Java – JPA Map mapping


How can I map a Map in JPA without using Hibernate's classes?

Best Solution

Although answer given by Subhendu Mahanta is correct. But @CollectionOfElements is deprecated. You can use @ElementCollection instead:

@JoinTable(name="ATTRIBUTE_VALUE_RANGE", joinColumns=@JoinColumn(name="ID"))
@MapKeyColumn (name="RANGE_ID")
private Map<String, String> attributeValueRange = new HashMap<String, String>();

There is no need to create a separate Entity class for the Map field. It will be done automatically.