2009-11-17 48 views
2

我有一个基于Model-Glue:Unity的应用程序,它包含一些搜索表单。在使用它们查询数据库之前,我需要修剪搜索字符串中的前导和尾随空格。我还将搜索条件保存在用户可以保存和重用的bean中。数据清理;什么层?

我的问题是,我不确定在哪里执行trim()。该bean似乎是错误的地方,因为我保持简单的bean(没有逻辑)。通常我会在更新bean时注意这一点,但是我使用MakeEventBean来保持简单。重新触摸服务层中的所有数据似乎是不必要的开销层。最后,在实际的SQL查询中在数据层中执行它似乎也不正确。它会工作,但我的搜索bean中的信息仍然是错误的。

你在这种情况下做了什么?

回答

0

我最终让我的豆比他们更聪明一些。我并没有使用每一个setThing()方法,而是添加了一个trimAll()方法,简单地将trim()应用到Bean中的每个私有属性。

2

声明:我不是MG用户,所以我不确定这是否是好的和可能的方法。只是想分享这个想法。

在传递ORM bean的情况下,我在扩展自动生成的bean的装饰器中执行这些特定的事情。

例如,我可以轻松覆盖setter setSearchPhrase(phrase),其中修改参数值并调用原始方法。

+0

不使用ORM,但这是一个有趣的想法。 – ale 2009-11-18 13:11:27