[hibernate-dev] Is @SecondaryTable required when a join table is specified?

Hardy Ferentschik hardy at hibernate.org
Fri Mar 1 05:07:56 EST 2013


Secondary tables and associations (join tables) are really two different things. A secondary table allows you to map your entity properties to 
multiple tables. @JoinTable on the other hand are used to map associations and configure certain properties of the join table. 
One does not require the other. I am not sure what makes you believe that using @JoinTable requires the use of @SecondaryTable.
If you after some examples have a look at the JPA spec as well. It is a good starting point.

Regarding the metamodel branch, I am not sure about the binders and so on, but afaicr the sources does not imply the link
between join table and secondary table.


On 1 Jan 2013, at 7:13 AM, Gail Badner <gbadner at redhat.com> wrote:

> I noticed that org.hibernate.test.annotations.onetoone.OneToOneTest and OptionalOneToOnePKJCTest uses this mapping:
> https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/test/resources/org/hibernate/test/annotations/onetoone/orm.xml
> Son.father specifies a join-table ("father_son"), but has no <secondary-table>. There is no @SecondaryTable defined in Son (this is a unidirectional association).
> I thought that @SecondaryTable was required when an association uses a join table. Currently, that's how it works in the new metamodel. 
> Should it be optional?
> Thanks,
> Gail
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev

More information about the hibernate-dev mailing list