解惑

解己之惑,解人之惑

标签:Query

一个通用的面向对象的查询接口

现在做持久化基本上都会用到ORM,现在最通用的解决方案当然就是Hibernate以及由之引申出来的EJB3的持久化方案,我们在做DAO层的时候经常是直接写HQL,并不是说它不好,而是不够通用。例如本来有个功能是查询某种类型的User,但是需要额外的过滤和排序,那么就需要拼HQL的,不太好维护,所以有一个面向对象的查询接口还是比较好。
下面就是这个雏形,是我现在的项目中用到的,抛砖引玉吧。
下面是全部的类和主要的方法,其他的方法都忽略了,可以到Google Code下载全部的源代码。
阅读全文

Annotation的一个很好的用处

加入另外一个项目获得的最大的好处就是这个了,他们定义了一些Annotation,然后定义一些Finder接口,接口里面只定义方法,但是不用实现,使用Dynamic Proxy实现接口实现方法参数和Query中的参数自动绑定,赞一个。这样写Hibernate的Query就很简单了,只需要定义基本的东西就行了。

© 2024 解惑

本主题由Anders Noren提供向上 ↑