我做了一些水平阅读,但无法找到正确的答案,这就是为什么这个理论问题:
我有一个案例,跨数据模型有很多多一映射(使用默认获取策略)。随着数据的增长(只有几千条记录),检索性能非常糟糕。当我查看生成的查询时,我观察到很多Joins
.
作为微调过程的一部分,我正在尝试删除/修改不必要的关联,从双向开始。
我的问题是: 如果我们不需要导航舒适度,我们是否需要关联(可能是 one-may/many-many)。如果我们简单地删除 hbm 文件中的关联并使其成为非空属性,可能会出现什么问题。
示例:(仅出于理解目的,这不是真实情况)。
<class name="Book" table="BOOK">
<property name="name" type="string">
<column name="Name" length="50" not-null="true" />
</property>
</class>
<class name="Shelf" table="SHELF">
<property name="code" type="string">
<column name="CODE" length="50" not-null="true" />
</property>
<one-to-many class="Book" column="bookId" />
</class>
如果我Shelf
像下面这样改变,我会违反任何数据建模原则吗?
<class name="Shelf" table="SHELF">
<property name="code" type="string">
<column name="CODE" length="50" not-null="true" />
</property>
<property column="bookId" not-null="true"/>
</class>
任何输入将不胜感激。