[hibernate-dev] Patch for HHH-272: Custom SQL for column gets and sets
Max Rydahl Andersen
max.andersen at redhat.com
Mon Sep 7 18:37:41 EDT 2009
What is this doing that a parameterized custom type can't do ? Is this
"just" to get a cleaner hbm.xml syntax or ?
/max
Rob Hasselbaum wrote:
> Steve,
>
> Any additional input before I upload a new patch?
>
> -Rob
>
>
> On 09/03/2009 10:28 PM, Rob Hasselbaum wrote:
>> 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
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hibernate-dev/attachments/20090907/d9977539/attachment.html
More information about the hibernate-dev
mailing list