JDBC和Hibernate之间的中间立场?

时间:2010-02-06 21:18:29

标签: java hibernate orm

我们最近一直在实现Hibernate作为JDBC的替代品。

我喜欢的是不必经常撰写SELECTUPDATEINSERT语句以及相关的PreparedStatementResultSet代码。

然而,由于所有不同的配置/功能选项和相关的Hibernate行为,我发现很难理解和解决的随机怪异行为(example A)。我发现一些功能,如缓存,延迟加载等等非常酷,但比我需要的方式更多 - 最终令人困惑。

对于那些只想避免单调乏味而又不需要Hibernate所有功能的人来说,是否有更好的中间立场?

2 个答案:

答案 0 :(得分:5)

并不完全避免使用jdbc,但是......我的建议是使用spring框架提供的jbdc支持。你仍然需要编写你的select,update和insert,但是spring很好地包装它,所以你通常不关心结果集,关闭连接,清理你的代码等等。

从春季文档中查看this chapter以查看详细信息。你可以创建一个像hibernate dao层一样出现的整个dao层,但内部实现是不同的。 RowMapper接口使您可以非常好地处理从结果集到对象的转换。总体而言,它提供了清晰的关注点分离。

(另一种方法是使用iBATIS进行轻量级O / R映射,或者至少将sql查询保留在Java代码之外。)

答案 1 :(得分:0)

如何使用Hibernate(或TopLink)作为JPA提供商。 IMO我发现基于JPA注释的ORM方法比直接使用Hiber更容易理解/实现 - 你总是可以直接使用Hibernate下载并做'难'的东西。