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

Gail Badner gbadner at redhat.com
Fri Mar 1 14:49:47 EST 2013


Actually, there are entities used in unit tests with @SecondaryTable defined with only *-to-one attributes that refer to those tables:

org.hibernate.test.annotations.inheritance.mixed.File
org.hibernate.test.annotations.inheritance.mixed.SymbolicLink
org.hibernate.test.annotations.manytoone.OrderLine
org.hibernate.test.annotations.onetoone.Client

Unless I hear otherwise, I'll assume @SecondaryTable can optionally be defined if only associations refer to it.

Gail

----- Original Message -----
> From: "Gail Badner" <gbadner at redhat.com>
> To: "Hardy Ferentschik" <hardy at hibernate.org>
> Cc: "Hibernate hibernate-dev" <hibernate-dev at lists.jboss.org>
> Sent: Friday, March 1, 2013 11:06:04 AM
> Subject: Re: [hibernate-dev] Is @SecondaryTable required when a join table is specified?
> 
> Hi Hardy,
> 
> I've seen lots of unit tests that have @SecondaryTable. I didn't make
> the connection that it was non-association attributes that refer to
> a secondary table.
> 
> Thanks for the clarification.
> Gail
> 
> ----- Original Message -----
> > From: "Hardy Ferentschik" <hardy at hibernate.org>
> > To: "Gail Badner" <gbadner at redhat.com>
> > Cc: "Hibernate hibernate-dev" <hibernate-dev at lists.jboss.org>
> > Sent: Friday, March 1, 2013 2:07:56 AM
> > Subject: Re: [hibernate-dev] Is @SecondaryTable required when a
> > join table is specified?
> > 
> > Hi,
> > 
> > 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.
> > 
> > --Hardy
> > 
> > 
> > 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
> > 
> > 
> _______________________________________________
> 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