> On 16 Jan 2015, at 18:37, Steve Ebersole <st...@hibernate.org> wrote:
> 
> On Fri, Jan 16, 2015 at 8:10 AM, Steve Ebersole <st...@hibernate.org 
> <mailto:st...@hibernate.org>> wrote:
> 
> I have one question, regarding logical name. The name that a given user needs 
> to use inside say @Column( …, table=“SomeEntity1”) is the name that comes out 
> of the implicit naming contract (assuming the original table was implicit). 
> Is that correct?
> 
> This is true.  But remember that this is mainly intended to signify a 
> secondary table, whose name cannot be implicit.  Also, I think that mixing 
> implicit naming and explicit naming and expecting that to work is not 
> necessarily a valid expectation.
> 
> I just wanted to clarify here a bit.  As far as I know, the only time that 
> this could be a problem is when we need @Column to refer to the primary table 
> and the name of the primary table is implicit.  But JPA designs for that by 
> saying that @Column is expected to refer to the primary table when 
> @Column#table is null or not specified.  What I was saying above was this, 
> imo, it is not a reasonable for this to work:
> 
> @Entity
> public Customer {
>     @Column( ..., table="Customer" )
>     ...
> }
> 
> I just think that makes no sense.
> 
> Am I missing any potential uses where @Column#table would refer to something 
> that might reasonably be implicit?
> 

No but it might be more problematic for `@JoinColumn(name=“customer_fk, 
referencedColumnName=“id”)` where the referenced entity has `@Id String id`. 
That family of references might be more common than secondary tables.
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to