ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Iwao AVE!" <haraw...@gmail.com>
Subject Re: Null handling of Ibator's Criteria class.
Date Fri, 24 Apr 2009 05:40:22 GMT
Thank you for the swift fix.
In case someone is interested, I pasted some of my plugins' source
to blogger.

http://harawata.blogspot.com/

// Iwao

on 09.4.23 3:48 AM Jeff Butler said the following:
> Fixed in SVN.
> 
> Jeff Butler
> 
> 2009/4/22 Iwao AVE! <harawata@gmail.com>:
>> Yes, the fix allows me to remove some extra lines.
>> Thanks!
>>
>> // Iwao
>>
>> on 09.4.23 2:12 AM Jeff Butler said the following:
>>> No - it's not intentional, I'll have to fix that.  Plus, fixing it
>>> will make the plugin easier - you'll simply have to delete the second
>>> line of all addCriterion* methods and replace it with "return;"
>>>
>>> Jeff Butler
>>>
>>>
>>> 2009/4/22 Iwao AVE! <harawata@gmail.com>:
>>>> Zoran, Jeff,
>>>>
>>>> Thank you for your reply.
>>>> I actually have written a plugin and been using it for a while.
>>>>
>>>> Considering the characteristics of a tool like Ibator, though, I
>>>> thought the default behavior should be ignoring null and wanted to
>>>> know how other developers think.
>>>> It seems that the plugin is a sufficient solution.
>>>>
>>>> To Jeff,
>>>> While writing the plugin, I noticed that one of the
>>>> addCriterionForJDBCDate() method does not throw RuntimeException
>>>> when the value is null (NullPointerException is thrown).
>>>> Is this intentional?
>>>>
>>>> Regards,
>>>> Iwao
>>>>
>>>> on 09.4.23 1:11 AM Jeff Butler said the following:
>>>>> You cold also write a plugin to change the generated code in the model
>>>>> classes.  It's a bit more complex than the average plugin, but
>>>>> certainly doable.
>>>>>
>>>>> Jeff Butler
>>>>>
>>>>>
>>>>> On Tue, Apr 21, 2009 at 6:39 PM, Zoran Avtarovski
>>>>> <zoran@sparecreative.com> wrote:
>>>>>> The simple solution we’ve implemented is to modify the source to
ignore null
>>>>>> values. That way we don’t have to do null checks and it simplifies
the
>>>>>> process of of building dynamic queries. You have two options you
can modify
>>>>>> the source after Ibator has run or modify the Ibator source code.
We opted
>>>>>> for the second option, but I can understand why some people might
not want
>>>>>> to modify the Ibator source.
>>>>>>
>>>>>> I’m pretty sure your example below won’t work as only the last
criteria
>>>>>> added will be used. It’s been a while since I looked at it so I’m
not
>>>>>> certain.
>>>>>>
>>>>>> Z.
>>>>>>
>>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> A Criteria inner class generated by Ibator throws RuntimeException
when
>>>>>> addCriterion() or addCriterionForJDBCDate() method is called with
null
>>>>>> as its 'value' argument.
>>>>>> As a result of this behavior, when I build a dynamic criteria, I
have to
>>>>>> check null for each condition.
>>>>>>
>>>>>> Criteria criteria = someExample.createCriteria();
>>>>>> if (condition1 != null)
>>>>>>   criteria.andCondition1EqualTo(condition1);
>>>>>> if (condition2 != null)
>>>>>>   criteria.andCondition1EqualTo(condition2);
>>>>>> ...
>>>>>>
>>>>>> Basically, I want criteria classes to ignore null value (i.e. not
to add
>>>>>> any criteria).
>>>>>> When some condition is required, I would validate it in another way
>>>>>> (presentation framework's validation feature, for example).
>>>>>>
>>>>>> Before opening a new issue on JIRA, I would like to hear from other
>>>>>> Ibator users about the behavior.
>>>>>> What do you think?
>>>>>>
>>>>>> Thanks,
>>>>>> Iwao
>>



Mime
View raw message