Nad*_*dav 6 java sql orm hibernate
我目前的工作场所使用标准的Spring/Hibernate/JSP组合,通过XML为其Flex客户端提供内容.有许多方法可以访问数据,但最常见的方法是通过对数据库的直接SQL调用和手动转换为XML.
麻烦的是,随着应用程序变得越来越大,SQL变得更加复杂,难以维护.好像维护使用StringBuilders创建的SQL并不困难,现在更糟糕的是,使用许多if语句和循环动态构造SQL.
我知道通常正确的方法是使用Hibernate查询和实体获取项目.但是,在我们的一些请求中,结果无法映射到单个Hibernate实体,我担心需要使用直接SQL.
什么是正确的方法去做?有没有办法让动态SQL查询更清晰?有没有办法用Hibernate实体做到这一点?
对于这个问题的抽象性,我很抱歉.我希望你有良好的投入;)
感谢您的评论!
HQL 支持获取多个实体的查询。还支持连接。例如:
SELECT new com.package.model.SearchResultEntry(product, price) FROM Product product,
IN(product.variantPrices) price WHERE ....
Run Code Online (Sandbox Code Playgroud)
上面返回一个新的(非实体!)对象,该对象由两个实体 - 产品和价格组成。您还可以使用 aList来放置同一结果中的不同实体。
仔细阅读本教程。
使用动态参数进行这些查询,并使用最合适的类将它们存储为@NamedQueries
| 归档时间: |
|
| 查看次数: |
1990 次 |
| 最近记录: |