[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1657) hql update generate wrong sql with joined subclass hierarcy

Erwin Bolwidt (JIRA) noreply at atlassian.com
Fri Feb 16 12:51:48 EST 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1657?page=comments#action_26144 ] 

Erwin Bolwidt commented on HHH-1657:
------------------------------------

Some more detail. Say there are two classes:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class A {
    private Long id;
    // getter and setter
}

@Entity
public class B extends A {
    private String name;
    // getter and setter
}

This bulk update query will fail:

UPDATE B SET name = 'foobar' WHERE id = ?

with the message "ERROR: column reference "id" is ambiguous" (on Postgresql but the error is not dialect-specific as far as I can see)
The sql that it fails on would be:

insert into HT_b select b0_.id as id from b b0_ inner join a b0_1_ on b0_.id=b0_1_.id where id=?

the last part should have been "where b0_.id = ?
"

> hql update generate wrong sql with joined subclass hierarcy
> -----------------------------------------------------------
>
>          Key: HHH-1657
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1657
>      Project: Hibernate3
>         Type: Bug

>   Components: query-hql
>  Environment: Hibernate 3.2.0cr1, Hibernate 3.1.3
>     Reporter: Alexey Romanchuk
>     Priority: Critical

>
>
> Let suppose that we have two joined subclass entities: Parent (id PK) and Child (id PK) that mapped with joined subclass method.
> When I try to update Child by id with hql:
> update Child c set c.field = 'value' where c.id = 1234
> hibernate generates joined tables like 
> insert into HT_parent select child0_.id as id from child child0_ inner join parent child0_1_ on child0_.id=child0_1_.id  wher id in = 1234
> look at last condition. hibernate use id WITH OUT tables alias that cause sql exception: column reference "id" is ambiguous

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list