查询结果而不存储在POJO中?

时间:2016-07-15 13:44:32

标签: java database spring hibernate jdbc

我可以使用数据库中的查询结果(Spring JDBC)而不存储在Java POJO中吗?

我的项目中有很多疑问?我不想将那些大的查询列名称映射到POJO varaiables 请提出一些建议?

2 个答案:

答案 0 :(得分:1)

如何仅对您感兴趣的列进行查询? 映射的本质是做得更少。否则你需要使用普通的Java jdbc。 [编辑]

您的对象与数据库表之间没有任何关联。如果您使用普通的jdbc,请明确提及表和列。要么 。你做一个预映射,这样你就不需要一直写表名和列名,这很容易出错。

总结

  • 没有映射

    • 使用普通jdbc [POJO]
  • 预映射

    • xml配置
    • 注释

使用xml配置时,它可能看起来像POJO,但事实并非如此。

答案 1 :(得分:1)

RowSet

您可以从通过JDBC获得的ResultSet获得RowSet

RowSet接口的CachedRowSet扩展名用于将数据行存储在JVM的内存中。即使在关闭与数据库的连接后,您也可以继续访问CachedRowSet

Oracle提供CachedRowSet的开源免费(GPL 2许可证)实施。这可能与您的Java安装捆绑在一起。如果没有,您可以单独获取源代码。请参阅此问题Implementations of RowSet, CachedRowSet etc

有关详细信息,请参阅Oracle Tutorial

令人惊讶的是,RowSet接口及其实现几乎没有引起人们的注意。他们对我来说似乎是个好主意。我亲自在一个小项目中成功使用了Oracle提供的CachedRowSet实现。