Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JPA Map<String,String> mapping

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

like image 384
Rafa de Castro Avatar asked May 12 '09 14:05

Rafa de Castro


2 Answers

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

@ElementCollection @JoinTable(name="ATTRIBUTE_VALUE_RANGE", joinColumns=@JoinColumn(name="ID")) @MapKeyColumn (name="RANGE_ID") @Column(name="VALUE") 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.

like image 71
Jatin Sehgal Avatar answered Oct 07 '22 19:10

Jatin Sehgal


Does not the following work for you?

@ManyToMany(cascade = CascadeType.ALL) Map<String,EntityType> entitytMap = new HashMap<String, EntityType>(); 

EntityType could be any entity type, including a String.

like image 21
Chris K Avatar answered Oct 07 '22 18:10

Chris K