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! <haraw...@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 >> <zo...@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 >