java - 为什么要使用 Hibernate 映射组件?

标签 java hibernate hibernate-mapping

我正在学习 Hibernate,并且遇到了 Hibernate 映射组件。 如果我们可以为学生和地址提供相同的 pojo 类,为什么还要使用它?

最佳答案

可以。但这并不意味着您想要。

原因一:您想以不同的方式建模

在对象中,您希望以尽可能最好的方式建模。这意味着学生和其他地址是一回事。将来您可以为每个学生提供更多地址,或者没有地址,因此如果您有两个不同的对象,则迁移到该模型会更容易。

将其视为高内聚和低耦合(良好的设计模式)。每个类别都有其含义、责任和有限的行动范围。越是孤立的类(class),变化就越准时。您的代码也将越模块化。

相比之下,您在表中做出让步以获得性能和更直接​​的查询。这意味着您可以对模型进行反规范化(例如加入学生和地址)。

原因二:遗留模型

举个例子。如果您有一个遗留单表并想使用两个对象,则需要此映射。或者...如果您的应用程序已经基于两个对象创建,但是您的数据库经过重新设计并且您认为一个表更好。

关于java - 为什么要使用 Hibernate 映射组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062581/

相关文章:

java - 没有任何形式如何启动露天工作流程?

java - JPA2 缓存或 hibernate 缓存

java - 如何在 hibernate 中建立友谊关系?

hibernate - 外键必须与多对一映射的引用主键具有相同的列数

java - 扫描仪在第二类读取时失败

java - 字符串中的前两个字节 : conversion behavior?

java - 如何在不使用包装对象的情况下反序列化前面带有前导标签的数组?

java - hibernate/持久化和单例模式

mysql - org.hibernate.exception.GenericJDBCException : could not insert

java - hibernate SchemaExport 工具无法导出模式并创建奇怪的 sql 查询,甚至在 sql 命令行实用程序上失败