1

我设置了3个班。ClassA分别具有ClassB和的 FK ClassC。我在我的ClassA

    @Entity
    @Table(name="ClassA")
    public class ClassA{
    //rest of the code

        @OneToOne(fetch=FetchType.LAZY, targetEntity=ClassB.class)
        @JoinColumn(name="ClassB_ColA", columnDefinition="ClassB_ColA", updatable=false, insertable=false)
        private ClassB classB;

        @OneToOne(fetch=FetchType.LAZY, targetEntity=ClassC.class)
        @JoinColumn(name="ClassC_ColA", columnDefinition="ClassC_ColA", updatable=false, insertable=false)
        private ClassC classC;
}

我得到以下异常

Exception [EclipseLink-60] (Eclipse Persistence Services - 2.1.1.v20100817-r8050): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The method [_persistence_set_classB_vh] or [_persistence_get_classB_vh] is not defined in the object [project.persistence.entities.ClassA].
Internal Exception: java.lang.NoSuchMethodException: project.persistence.entities.ClassA._persistence_get_classB_vh()
Mapping: org.eclipse.persistence.mappings.OneToOneMapping[classB]
Descriptor: RelationalDescriptor(project.persistence.entities.ClassA --> [DatabaseTable(ClassA)])

我做了一些搜索,我可以找到一些关于挥动静态加载或其他东西的旧线程。有人可以提出解决方案吗?

PS:我正在使用 weblogic 10 和 eclipselink2

4

2 回答 2

0

考虑复制粘贴属性名称如何?

..
private ClassB classB;
..
private ClassB classB;
于 2012-08-23T07:57:38.853 回答
0

该问题与物体的静态波动有关。所以我做了什么,我改变了加载机制。

ClassB,我没有为ClassA和加载任何东西ClassA,我保持延迟加载..它工作正常。

于 2012-09-06T14:02:58.127 回答