[hibernate-dev] [ORM] Query with condition on subclass attribute

Steve Ebersole steve at hibernate.org
Wed Jul 1 20:11:36 EDT 2020


It is not portable.  Hibernate applies an implicit treat-as operation in
such cases.  This is actually Hibernate's behavior from the beginning.  JPA
says this should use an explicit treat-as operation.

On Wed, Jul 1, 2020, 4:58 PM Gail Badner <gbadner at redhat.com> wrote:

> Hi,
>
> Given the following inheritance hierarchy:
>
> @Entity
> public class Person {
>     @Id
>     private int id;
>     ...
> }
>
> @Entity
> public class Employee extends Person {
>     private String title;
> }
>
> Executing a query like the following succeeds.
>
> "from Person where title = 'abc'"
>
> I thought that it would fail because Person does not have an attribute
> named "title". Instead, the query succeeds and returns the Employee with
> the specified title.
>
> I don't see anything in the JPA spec that indicates whether this is
> portable.
>
> Does anyone know if this is portable?
>
> 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