【发布时间】:2015-06-06 13:42:59
【问题描述】:
我是 Hibernate 的新手,在设计从数据库到 Hibernate 代码生成的关系时遇到了几个问题。我更喜欢使用外键约束来设计一对一、一对多、多对多的关系,因为这样更直观、更清晰。但是当使用 DB-Browser 生成代码时,我发现关系搞砸了,我必须对 xml 进行大量手动重写才能获得所需的关系。如果表发生变化,可能很难保持数据库和 Hibernate 之间的一致性。
你能给我一些建议来弥合数据库设计与 OOP 之间的差距吗?也许有不同的方法,例如,我认识的一些人不会在数据库中设计带有约束的关系,而是依靠 Hibernate 中的 xml 来定义关系。 换句话说,Hiberate 中的关系(部分)独立于数据库?
非常感谢。
【问题讨论】:
-
如果整体数据库设计(内部数据库结构)本身被改变(不经常),那么它通常不会独立于环境的其余部分(回想一下 DBMS 中的逻辑数据独立性,这总是很难达到)。它不仅受限于 Hibernate 或任何其他 ORM,而且如果您使用普通 JDBC,也会发生同样的事情。