]
Mauricio Chamati commented on HHH-5587:
---------------------------------------
The problem also applies to AbstractFromImpl when using Criteria implementation. In the
method "locateAttributeInternal" line 144 it is not able to identify that this
is a TABLE_PER_CLASS and move to the correctly Entity.
InheritanceType.TABLE_PER_CLASS crashs when the primary classes have
properties with the same name and different values ONLY USING JTA PERSISTENT-UNIT
------------------------------------------------------------------------------------------------------------------------------------------------------
Key: HHH-5587
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5587
Project: Hibernate Core
Issue Type: Bug
Components: core, entity-manager
Affects Versions: 3.5.6
Environment: Postgre 8.4, Hibernate 3.5.6-Final, Maven 2, Glassfish 3.01, JPA
2.0, EJB 3.1
Reporter: Mauricio Chamati
I am trying to retrieve a list of Products (Entity). Each product has a list of a pair
Attribute/Value mapped as follows:
@OneToMany(cascade = javax.persistence.CascadeType.ALL,
mappedBy="product", fetch=FetchType.EAGER)
@MapKey(name="attribute")
private Map<Attribute, Value<?>> attributes = new HashMap<Attribute,
Value<?>>();
As this value can be of many types, I used "InheritanceType.TABLE_PER_CLASS" in
the "Value.class".
Everything runs OK for LOCAL_RESOURCE persistent-unit.
But, running into the container using JTA that does not work. It gives the database
error: "UNION types x and y cannot be matched." (being x and y types like
numeric or date).
The generated query for JTA is something like this (I shorten it):
select *
from (
select id, attribute, product, value
from value_datetime
union all
select id, attribute, product, value
from value_decimal
union all
select id, attribute, product, value
from value_integer
) attributes
where product = ?
And of course, the values won't match.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: