[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-7213) Hibernate throws a "MappingException: Repeated column in mapping for collection" on order columns also being a foreign key/relationship column

Karsten Wutzke (JIRA) noreply at atlassian.com
Mon Apr 16 09:11:48 EDT 2012


    [ https://hibernate.onjira.com/browse/HHH-7213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46303#comment-46303 ] 

Karsten Wutzke commented on HHH-7213:
-------------------------------------

Please flag as invalid. After some investigation it turned out that @OrderColumn must be an additional column in the table, which must not be part of the state of an entity (PK, FK, ...).

> Hibernate throws a "MappingException: Repeated column in mapping for collection" on order columns also being a foreign key/relationship column
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-7213
>                 URL: https://hibernate.onjira.com/browse/HHH-7213
>             Project: Hibernate ORM
>          Issue Type: Bug
>    Affects Versions: 4.1.1
>            Reporter: Karsten Wutzke
>
> I'm using an order column for an @OrderColumn which is also part of a foreign key like:
> {code}@ManyToMany
> @JoinTable(name = "GroupLinks", joinColumns = {@JoinColumn(name = "parent_round_id", referencedColumnName = "round_id"), @JoinColumn(name = "parent_ordinal_nbr", referencedColumnName = "ordinal_nbr")}, inverseJoinColumns = {@JoinColumn(name = "child_round_id", referencedColumnName = "round_id"), @JoinColumn(name = "child_ordinal_nbr", referencedColumnName = "ordinal_nbr")})
> @OrderColumn(name = "child_ordinal_nbr")
> private List<Group> children;{code}
> As you can see the order column "child_ordinal_nbr" is also an FK (and PK) in the join table. However, this fails with a mapping exception:
> {code}Caused by: org.hibernate.MappingException: Repeated column in mapping for collection: com.kawoolutions.bbstats.model.Group.parents column: parent_ordinal_nbr
>     at org.hibernate.mapping.Collection.checkColumnDuplication(Collection.java:340)
>     at org.hibernate.mapping.Collection.checkColumnDuplication(Collection.java:363)
>     at org.hibernate.mapping.Collection.validate(Collection.java:320)
>     at org.hibernate.mapping.IndexedCollection.validate(IndexedCollection.java:89)
>     at org.hibernate.cfg.Configuration.validate(Configuration.java:1291)
>     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1729)
>     at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
>     at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
>     ... 9 more{code} 
> IMO there's no reason to assume the order column is not a foreign key column, too.
> I've posted an extensive example over at stackoverflow.com:
> http://stackoverflow.com/questions/9957247/is-manytomanymappedby-ordercolumn-supported-by-the-jpa
> While the JPA spec is silent about this behavior there's no reason why the depicted scenario shouldn't be working.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list