Good evening,

I've been working with 3.1.2, and was in love with the concept of transparently 
persisting "hibernatable" domain objects within a process.

There is a slight, what I would call counterintuitive problem with the default 
variable mapping config file related to this though...  objects that are 
Serializable even though they are "hibernatable" will be, by default, persisted 
in the process via serialization rather than hibernate.  This is due to the 
sequence of matcher/converter declarations in the default config file.

As the engine is trying to figure out how to save a process variable to the DB, 
it will encounter the serializable converter PRIOR to the 
HibernateLongVariableInstance... (as they're checked sequentially) so when a 
user attempts to utilize the default behavior with their domain object (and it 
happens to be serializable), they'll be in for a big surprise as it won't 
actually utilize the hibernate variable instances OOTB.  This can be fixed by 
providing your own config file in the root of the classpath - blah blah blah.  
As far as I'm concerned though the default behavior should be a bit more 
intuitive and attempt to use the hibernate variable instances prior to the 
serializable variable instance.

simply changing the ordering in the default file makes things work as one would 
expect (IMHO).

Also on this subject - there's a bit of code in the match() (name?) method of 
the hibernateLongID variable instance impl that is a bit odd - the class 
metadata for an object's class is fetched (if possible).  If it exists, the 
identifier type's class is compared == to LongType.class... this caused me no 
end of problem.  The question is - why is it comparing the identifier's class 
== rather than using instanceof or assignable from to determine if the object 
can use that particular variableInstance implementation.

Please pardon the ramblingness of this post - it's late and I've been wrestling 
with this, trying to get the most intuitive behavior in our app all day.

Thanks.

Thoughts?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967680#3967680

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967680
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to