将表从现有数据库映射到对象 - Hibernate是否合适?

时间:2010-05-27 11:32:46

标签: java hibernate orm mapping

我在现有数据库中有一些表,我想将它们映射到Java对象。实际上,它是一个包含主要信息的表,以及一些引用带有外键的表条目的其他表。

我不想在数据库中存储对象,我只想从中读取。不应该允许程序对底层数据库应用任何更改。

目前,我从数据库中读取了5个JDBC sql查询,然后将结果设置在一个对象上。

我现在正在寻找代码密集程度较低的方法。另一个目标是学习方面。 Hibernate是否适合这项任务,还是有另一个更符合我要求的ORM框架?

3 个答案:

答案 0 :(得分:2)

  

我在现有数据库中有一些表,我想将它们映射到Java对象。实际上,它是一个包含主要信息的表,以及一些引用带有外键的表条目的其他表。

看起来像一个非常标准的架构,Hibernate应该能够毫无问题地处理它。

  

我不想在数据库中存储对象,我只想从中读取。不应该允许程序对底层数据库应用任何更改。

Hibernate支持“不可变”实体(应用程序可能无法更新不可变实体,请参阅@Immutable注释)。

  

目前,我从数据库中读取了5个JDBC sql查询,然后将结果设置在一个对象上。

我可以说如果它没有坏掉,不要修理它,但是......

  

我现在正在寻找代码密集程度较低的方法。另一个目标是学习方面。 Hibernate是否适合这项任务,还是有另一个更符合我要求的ORM框架?

如果学习是动力的一部分,那么它就有意义。正如我所说的,我认为Hibernate将能够毫无问题地处理您的模型(当数据库严重非规范化或者当您有大量存储过程时,像iBATIS这样的数据映射器可能会更好,但它不是这里的情况)并将您的应用程序移植到Hibernate / JPA应该很容易。最重要的是,你会得到一些额外的东西,如延迟加载,第二级和查询缓存。

答案 1 :(得分:1)

去休眠吧。它非常适合,非常受欢迎,学习使用这个框架并不是浪费时间。

答案 2 :(得分:0)

如果您正在寻找一种更简单的休眠解决方案,您可以查看ORMLite,它是一个[简单的]简单ORM包。我已经用它来读取预先存在的SQL表中的对象并取得了巨大的成功。

  

http://ormlite.com/