[
https://hibernate.onjira.com/browse/HHH-1570?page=com.atlassian.jira.plug...
]
Yoann Antoviaque commented on HHH-1570:
---------------------------------------
I looked at this issue, the experimental patch did not resolve the problem in our case, I
had to modify it (will post it later today, once I have validated that it works completly
for us).
I still have a "regression" in FumTest#testKeyManyToOne() but I think it is not
a regression but another bug that was hidden due to the absence of loading of linked
tables:
by adding those lines in FumTest#testKeyManyToOne(), i get a NonUniqueObjectException,
failing exactly the same way, even with a non patched hibernate-core:
// new test case showing non refreshed composite keys
s = openSession();
InnerKey sid2 = new InnerKey();
sid2.setAkey("a");
sid2.setBkey("b");
Inner sup2 = (Inner) s.load(Inner.class, sid2);
assertEquals("dudu", sup2.getDudu());
MiddleKey mid2 = new MiddleKey();
mid2.setOne("one");
mid2.setTwo("two");
mid2.setSup(sup);
Middle m2 = (Middle) s.load(Middle.class, mid2);
assertEquals("bla", m2.getBla());
d = (Outer) s.load(Outer.class, did);
assertTrue( d.getId().getMaster().getId().getSup().getDudu().equals("dudu") );
s.delete(d);
s.delete( d.getId().getMaster() ); //we do not get the master from session but the one
from did, therefore fail with NonUniqueObjectException !
s.save( d.getId().getMaster() );
s.save(d);
s.flush();
s.connection().commit();
s.close();
criteria-api: filtering by key-many-to-one causes invalid sql
-------------------------------------------------------------
Key: HHH-1570
URL:
https://hibernate.onjira.com/browse/HHH-1570
Project: Hibernate ORM
Issue Type: Bug
Components: query-criteria
Affects Versions: 3.5.3, 3.6.0.Beta1
Reporter: Joris Verschoor
Assignee: Steve Ebersole
Attachments: HHH-1570-fix.patch, HHH-1570-it.patch, hibernate.patch
We have a class Price that has a composite-id using a couple of key-properties and some
key-many-to-ones)
One of those is "transportation", which has a many-to-one to
transportationType
When we query using:
criteria.add(Expression.eq("price.transportation.transportationType.id",
transId);, we get an invalid SQL statement: The table of transportation was not selected.
I will try to make a testcase today or tomorrow, depending on my schedule.. Things will
be more clear by then...
We have created a work-around, by mapping the transportationID twice: once in
key-property, and once as a many-to-one. (instead of one key-many-to-one)
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira