[hibernate-dev] Entity name in the context of JPA2 meta model (HHH-5709).

Tomasz Blachowicz tblachowicz at gmail.com
Wed Nov 3 07:50:55 EDT 2010


Hi Steve,

PersistentClass#getEntityName is not good, because it is exactly the same
value as PersistentClass#getClassName.
PersistentClass#getClassName is populated in
org.hibernate.cfg.annotations.EntityBinder#bindEntity with the value from
org.hibernate.annotations.common.reflection.java.JavaXClass#getName.
JavaXClass#getName is implemented as clazz.getName(), so it is always class
name and the @Entity.name is simply ignored for the purpose of the entity
name. And this is the reason I used PersistentClass#getNodeName that returns
@Entity.name or "unqualified" class name in case @Entity.name is
unspecified.

If I'd stick with PersistentClass#getEntityName the issues is not resolved
and EntityType.getName() returns stil FQN of the class instead of
@Entity.name or "unqualified" class name.

Regards,
Tom

On Wed, Nov 3, 2010 at 11:12 AM, Steve Ebersole <steve at hibernate.org> wrote:

> Uncertain yet of how these pull request comments work on GitHub, so I
> thought
> I'll make sure and respond here.  The change should use
> org.hibernate.mapping.PersistentClass#getEntityName instead of
> org.hibernate.mapping.PersistentClass#getNodeName.
>
> See my other email to the dev list about porting to 3.6
>
>
> On Wednesday, November 03, 2010, at 05:48 am, Tomasz Blachowicz wrote:
> > I've submitted the pull request (
> > https://github.com/hibernate/hibernate-core/pull/8) for master. I should
> > have it also ready for 3.6 branch as soon as I manage to merge the change
> > between branches in this git thng that is pretty new to me ;)
> >
> > On Tue, Nov 2, 2010 at 1:18 PM, Emmanuel Bernard
> <emmanuel at hibernate.org>wrote:
> > > Cool :)
> > > If you use GitHub's infrastructure and use a pull-request, we can get
> > > that integrated quite fast.
> > >
> > > On 2 nov. 2010, at 13:50, Tomasz Blachowicz wrote:
> > >
> > > I've already created the ticket (
> > > http://opensource.atlassian.com/projects/hibernate/browse/HHH-5709).
> > > And I should be able to create the patch sometime this evening.
> > >
> > > Cheers,
> > > Tom
> > >
> > > On Tue, Nov 2, 2010 at 12:24 PM, Emmanuel Bernard
> <emmanuel at hibernate.org>wrote:
> > >> I'd say you're correct and the name should match in the metamodel.
> > >> Can you open a JIRA issue and even better try and work out a patch?
> > >>
> > >> PS: I've spilled hot chocolate on my laptop in the past: not good, the
> > >> machine slowly but inevitably dies as corrosion wins it over.
> > >>
> > >> On 2 nov. 2010, at 12:35, Tomasz Blachowicz wrote:
> > >> > Hi,
> > >> >
> > >> > I had been working recently on some stuff that deals with JPA2 meta
> > >>
> > >> model.
> > >>
> > >> > Hibernate is my JPA2 provider/engine. Everything works fine except
> one
> > >> > little thing that is name of the Entity. I'd expect that value
> > >> > returned
> > >>
> > >> by
> > >>
> > >> > EntityType.getName() would be the same as @Entity.name but not the
> FQN
> > >>
> > >> of
> > >>
> > >> > the entity class. Although this is not explicitly stated in the JPA2
> > >> > specification it is reasonable to expect that @Entity.name or the
> > >>
> > >> default
> > >>
> > >> > value (shortened class name) is the name of the entity used in
> queries
> > >>
> > >> ans
> > >>
> > >> > well as other places such as meta model. I know the topic of entity
> > >> > name
> > >>
> > >> was
> > >>
> > >> > discussed  many times in the past (HHH-2597, HHH-4375, HHH-4465,
> > >>
> > >> HHH-5709),
> > >>
> > >> > and the rationale has been given for current implementation of
> > >>
> > >> Hibernate,
> > >>
> > >> > however the topic hasn't been touched in the context of meta model
> > >> > that
> > >>
> > >> is
> > >>
> > >> > new stuff added in JPA2.
> > >> >
> > >> > I just wanted to know what is your thinking with regards to the
> matter
> > >>
> > >> at
> > >>
> > >> > this stage and how likely is implementation of Hibernate would
> change
> > >> > to match EntityType.getName with @Entity.name.
> > >> >
> > >> > P.S.
> > >> > I just have spilled the entire cup of fresh coffee on my desktop
> while
> > >> > writing this message. The mouse seems to be drowned :|
> > >> >
> > >> > Cheers,
> > >> > Tom
> > >> > _______________________________________________
> > >> > 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
>
> ---
> Steve Ebersole <steve at hibernate.org>
> http://hibernate.org
> _______________________________________________
> 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