[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5393) @MapKey with embeddable value

Harald Wellmann (JIRA) noreply at atlassian.com
Mon Jul 19 06:24:35 EDT 2010


@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: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list