[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1657?page=c...
]
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....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira