]
Gail Badner reassigned HHH-5393:
--------------------------------
Assignee: (was: Gail Badner)
@MapKey with embeddable value
-----------------------------
Key: HHH-5393
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5393
Project: Hibernate Core
Issue Type: Bug
Components: annotations
Affects Versions: 3.5.3
Environment: Hibernate 3.5.3, PostgreSQL 8.4.3
Reporter: Harald Wellmann
Map<Basic, Embeddable> does not work, when the map key is a persistent field of the
value. The map key shall not be represented as a separate table column, this is why the
example uses @MapKey and not @MapKeyColumn.
Example:
{code:java}
@Embeddable
public class LocalizedString {
private String language;
private String text;
}
@Entity
public class MultilingualString {
@Id
private long id;
@ElementCollection(fetch=FetchType.EAGER)
@MapKey(name = "language")
@CollectionTable(schema = "jpa", name =
"multilingual_string_map",
joinColumns = @JoinColumn(name = "string_id"))
private Map<String, LocalizedString> map = new HashMap<String,
LocalizedString>();
}
{code}
Hibernate appears to expect an Entity as map value:
org.hibernate.AnnotationException: Associated class not found: LocalizedString
Detailed discussion of this use case:
http://hwellmann.blogspot.com/2010/07/jpa-20-mapping-map.html
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: