我正在学习 Hibernate,并且遇到了 Hibernate 映射组件。 如果我们可以为学生和地址提供相同的 pojo 类,为什么还要使用它?
最佳答案
可以。但这并不意味着您想要。
原因一:您想以不同的方式建模
在对象中,您希望以尽可能最好的方式建模。这意味着学生和其他地址是一回事。将来您可以为每个学生提供更多地址,或者没有地址,因此如果您有两个不同的对象,则迁移到该模型会更容易。
将其视为高内聚和低耦合(良好的设计模式)。每个类别都有其含义、责任和有限的行动范围。越是孤立的类(class),变化就越准时。您的代码也将越模块化。
相比之下,您在表中做出让步以获得性能和更直接的查询。这意味着您可以对模型进行反规范化(例如加入学生和地址)。
原因二:遗留模型
举个例子。如果您有一个遗留单表并想使用两个对象,则需要此映射。或者...如果您的应用程序已经基于两个对象创建,但是您的数据库经过重新设计并且您认为一个表更好。
关于java - 为什么要使用 Hibernate 映射组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062581/