Turns out our ImplicitNamingStrategy's determineBasicColumnName() is
invoked twice at different places within Ejb3Column. Once the magic
HHH-6005 replacement takes place (in redefineColumnName()) and the other
time it doesn't (addColumnBinding()).
So we are once called with "grandChildren.name" and the other time
with "grandChildren.collection&&element.name". This seems not right,
but
then the code in Ejb3Column is quite dense and I may well miss something.
Any ideas?
2015-07-17 15:11 GMT+02:00 Gunnar Morling <gunnar(a)hibernate.org>:
Steve,
There is one remaining itch I have wrt. upgrading OGM to ORM 5.
I have an entity GrandMother with an @ElementCollection "grandChildren" of
type GrandChild. The latter has a property "name" which used to be passed
as "grandChildren.collection&&element.name" to OGM's
NamingStrategy#propertyToColumnName(). We used to detect the
"collection&&element" pattern to determine the right column name fin
OGM.
As of ORM 5, this is passed as "grandChildren.name" instead (due to
HHH-6005 [1]). Now I thought
ImplicitBasicColumnNameSource#isCollectionElement() would tell me whether
this is a collection element, but it returns false in this case.
Shouldn't it return true if the replacement magic for HHH-6005 has kicked
in Ejb3Column#redefineColumnName()?
Thanks,
--Gunnar
[1]
https://hibernate.atlassian.net/browse/HHH-6005