0

我有一个休眠映射类,它将现有的 java 类(比如 A)映射到一个表。java 类的属性之一是另一个 java 类(比如 AA ),它使用 hibernate 映射文件中的 component 属性进行映射。AA 类中只有一个属性,它映射到表中的一个属性。我想知道当该属性在表中为空时会发生什么。执行映射时,是否会在 A 类的最终对象中创建 AA 类的实例?在我的代码中,我看到没有创建实例,并且 A 类的属性仍然为空。有没有办法在休眠映射文件中指定一个参数来实例化对象(即使它的映射属性在表中为空)。

我正在使用 Java 1.6 和休眠 3

谢谢。

4

1 回答 1

2

基于休眠指南,

The null value semantics of a component are ad hoc. When reloading the containing object, Hibernate will assume that if all component columns are null, then the entire component is null. This is suitable for most purposes. 

但作为一种潜在的解决方法,您可以为该属性添加一些 sql 公式,这样可以确保创建 AA 实例。

于 2012-05-29T16:23:23.507 回答