作为 Hibernate 组件的内部类

Vas*_*sky 2 java hibernate inner-classes

基本上,这可能吗

文件说

组件是一个包含的对象,它作为值类型而不是实体引用保存。

与值类型一样,组件不支持共享引用。换句话说,两个人可以具有相同的名称,但是两个人对象将包含两个独立的名称对象,它们仅在值上“相同”。

值类型的主要区别特征是它们不定义自己的生命周期。我们说它们被其他东西(特别是一个实体,我们将在后面看到)“拥有”,这定义了它们的生命周期。

非静态内部类可以完美地适应这一点,但我在实践中从未见过例子。使用内部类作为组件有什么限制吗?

JB *_*zet 5

JPA 规范指出:

可嵌入类必须遵守第 2.1 节中针对实体指定的要求,但可嵌入类未注释为实体除外。

第 2.1 节说:

实体类必须是顶级类。