0

クラスに別のO/R マッピング アノテーションがEclipseLinkある場合、を使用して DDL を生成できません。O/R マッピング用の DDL を生成するにはどうすればよいですか?EmbeddableEntity

会社.java

@Entity
public class Company implements Serializable {
    .....

    @Embedded
    private CompanyAddress address;
}

会社住所.java

@Embeddable
public class CompanyAddress implements Serializable {
    .....

    @Embedded
    @OneToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "TOWNSHIP_ID", referencedColumnName = "ID")
    private Township township;
}   

Township.java

@Entity
public class Township implements Serializable {
    .....
}

生成すると、次のエラーが表示されます。

Exception [EclipseLink-195] (Eclipse Persistence Services - 2.1.2.v20101206-r8635): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The shared class org.ace.insurance.system.common.company.CompanyAddress must not reference the isolated class org.ace.insurance.system.common.township.Townsh
ip.
Mapping: org.eclipse.persistence.mappings.OneToOneMapping[township]
Descriptor: RelationalDescriptor(org.ace.insurance.system.common.company.CompanyAddress --> [DatabaseTable(COMPANY)])
4

1 に答える 1

1

あなたの理解が正しければ、あなたはタウンシップを通常の独立したエンティティにしたいと考えています。その場合、CompanyAddress のタウンシップ フィールドから @Embedded アノテーションを削除する必要があります。埋め込みたい場合、Township には @Entity の代わりに @Embeddable アノテーションが必要です。

于 2013-02-11T07:03:33.237 に答える