2012-05-29 69 views
0

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

我正在使用Java 1.6和休眠3

谢谢。

回答

2

基于Hibernate指南,

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实例。