我目前的工作场所使用标准的Spring/Hibernate/JSP混合来通过XML向Flex客户端提供内容。访问数据的方式很多,但最流行的方式是通过对数据库的直接SQL调用和手动转换为XML。Java/Hibernate:如何为复杂的SQL编写DAO代码
麻烦的是,随着应用程序越来越大,SQL变得越来越复杂,难以维护。就好像维护使用StringBuilders创建的SQL不够困难,现在更糟糕的是,使用许多if语句和循环动态构建SQL。
我知道通常正确的方法是使用Hibernate查询和实体获取项目。但是,在我们的一些请求中,结果不能映射到单个Hibernate实体,我担心需要使用直接SQL。
什么是正确的方式去做这件事?有没有办法让动态SQL查询更清晰?有没有办法与Hibernate实体做到这一点?
我很抱歉这个问题的抽象性。我希望你仍然有很好的输入;)
感谢您的意见!
我有点同意,尽管很多人不喜欢SQL中存储的特效和逻辑。如果您有一个非常复杂的SQL查询,那么通过尝试在代码中执行操作或使用像HQL这样的不太健壮的查询语言,实在没有办法简化它。 – 2010-01-26 22:58:38