[hibernate-dev] Patch for HHH-272: Custom SQL for column gets and sets
Rob Hasselbaum
rob at hasselbaum.net
Thu Sep 3 22:28:58 EDT 2009
Hi Steve,
Thanks for the feedback. I am working on moving the patch to trunk as
you requested. I'll update the bug when that's done. My comments on the
rest of your feedback are inline below.
On 09/03/2009 04:39 PM, Steve Ebersole wrote:
> 1) Personally, I don't like the attribute names sql-get and sql-set.
> When I think through trying to describe and explain this feature to
> people, the terms "wrap" and "unwrap" keep coming to my head as being
> descriptive, relevant and natural. It was really the "naturalness"
> aspect that got me with sql-get and sql-set. Other terms I could think
> of included encode/decodeAny other suggestions?
>
I went with "sql-set" and "sql-get" because they are consistent with the
existing "sql-type" attribute and make sense to me, but I'm not married
to the terms. Wrap and unwrap sound good, too. Bear in mind that the
expressions need not be function calls, which wrap and unwrap might
suggest. The functional tests do math, for instance.
> 2) Can anyone foresee a valid use-case for allowing one of these to be
> defined w/o the other? The only thing I came up with was for immutable
> properties. So something like <column name="xyz" unwrap="decode(xyz)"
> insert="false" update="false"/>, which can also be defined using a
> formula like <formula>decode(xyz)</formula>. The reason I ask is that
> if they should always be used together then maybe it is better to
> enforce that in the DTD and/or binder
>
I couldn't think of a use case for a one-way conversion either. In fact,
you could end up reading out a different value than the one you put in
if you're not careful. But I'd regret adding an artificial restriction
if someone came up with a legitimate use case next year.
> 3) You renamed the getTemplate method on Selectable to
> getGetterTemplate. Everything in the o.h.mapping package is an SPI that
> is used by many other libraries. We need to be very careful about
> changing stuff in here. I am not sure if folks bind to this particular
> method. But since this is just a cosmetic change, I think it should be
> reverted.
>
>
Sorry, this was an oversight. At first, I thought I was going to need to
store a setter template in addition to a getter template in the Column
class, It turned out that I didn't need it, but I forgot to revert the
name of the getter template. I'll fix that.
> Still not done looking through the whole patch. Will try to finish up
> tomorrow.
>
>
Thanks,
-Rob
More information about the hibernate-dev
mailing list