【发布时间】:2016-06-15 13:22:36
【问题描述】:
首先,我是 Hibernate 的新手。 我在 Netbeans 中构建了一个独立的 Java 应用程序,试图尽可能地保持 MVC 模型。我的模型类尽可能地类似于数据库表和列。数据库被规范化以避免冗余。 但是,我注意到在我的许多模型类中使用某个属性很方便。该属性在数据库中可用,但在大多数情况下,需要进行多次连接才能获得它。 因此,我将此属性添加到我的模型类中以便于访问。
示例:
Object A 与Object B 有关系,Object C 也有关系。 Object C 具有 property X。
关系是一对多的; Object A 将主键 Object B 作为一列,依此类推。
现在我想找到所有连接到property X 的Object A。我必须进行多次连接才能得到答案。 Property X 也适用于Object A,但我不希望它作为数据库中Object A 的属性,因为那是冗余。在应用程序中,我将这个property X添加到Object A的类中,方便访问。
现在我想实现 Hibernate 而不是我自己设计的(服务)类,我不确定如何处理这个属性。我已在 POJO 中将其定义为“瞬态”,但如何填写此属性?如果我让 Hibernate 执行一个 get tot 数据库并将对象 (Object A) 返回给我,它将没有这个属性。我是否需要有一个具有此属性的额外构造函数并将 Hibernate 的对象转换为包含此属性的对象并将其返回给请求它的原始方法?
这样做的正确方法是什么?
【问题讨论】: