我想在休眠实体中声明一个瞬态方法,我们使用 hbm.xml 文件进行映射而不是注释。
我在网上看到很少有人提到在 xml 中声明字段瞬态,用注释声明方法瞬态,但我找不到在 xml 中声明方法瞬态的文档。我看到有人提到如果它不在 hbm.xml 文件中,Hibernate 会忽略它,但我想确认一下。
这方面的文档在哪里?
我想在休眠实体中声明一个瞬态方法,我们使用 hbm.xml 文件进行映射而不是注释。
我在网上看到很少有人提到在 xml 中声明字段瞬态,用注释声明方法瞬态,但我找不到在 xml 中声明方法瞬态的文档。我看到有人提到如果它不在 hbm.xml 文件中,Hibernate 会忽略它,但我想确认一下。
这方面的文档在哪里?
自 Hibernate 5 以来,遗留的 XML 映射文档似乎已被删除。但是您仍然可以在Hibernate 4 文档的第 5 节中找到它的文档。
而且在使用的时候也是如此hbm.xml
,如果不需要映射字段或方法,就不要包含在hbm.xml
. 我找不到在文档中明确提到这种行为,因为我认为人们回想起只有遗留 XML 映射的时间是一种常识。
并且在引入注解映射之后,引入了映射字段默认自动检测的特性,不需要显式声明所有映射字段。文档中以某种方式隐含地提到了遗留 XML 和注释映射之间的这种行为的差异,如下所示:
您需要决定哪些属性需要在给定实体中持久化。这在注释驱动的元数据和 hbm.xml 文件之间略有不同。
在注释世界中,实体的每个非静态非瞬态属性(取决于访问类型的字段或方法)都被认为是持久的,除非您将其注释为 @Transient。没有您的属性的注释相当于适当的 @Basic 注释。