Java 如何在JPA/Hibernate映射中建模以下模型
如何在JPA/Hibernate映射中建模以下模型Java 如何在JPA/Hibernate映射中建模以下模型,java,hibernate,jpa,Java,Hibernate,Jpa,如何在JPA/Hibernate映射中建模以下模型 表SME_锚的DDL 表中贷款的DDL 表LOAN_锚的DDL 这里的困难在于对具有由2个元素组成的键和由3个元素组成的外键的实体进行建模。 我怎样才能解决这个问题。 我正试图做一个@manytomy协会,但没有成功。 任何帮助都将不胜感激。请尝试使用关系表中的manytomany。像这样的东西。。我没有试过你的情况,但它为我在一个类似的情况下工作 <many-to-many attribute-type="java.util
表SME_锚的DDL
表中贷款的DDL
表LOAN_锚的DDL 这里的困难在于对具有由2个元素组成的键和由3个元素组成的外键的实体进行建模。 我怎样才能解决这个问题。 我正试图做一个@manytomy协会,但没有成功。
任何帮助都将不胜感激。请尝试使用关系表中的manytomany。像这样的东西。。我没有试过你的情况,但它为我在一个类似的情况下工作
<many-to-many attribute-type="java.util.Set" fetch="EAGER" name="forwarderInstitutions" target-entity="com.temp.LoanAnchor">
<join-table name="LOAN_SME">
<inverse-join-column name="LOAN_ANCHOR_PKID" referenced-column-name="PKID"/>
<join-column name="SME_ANCHOR_PKID" referenced-column-name="PKID"/>
<join-column name="ACTIVE_FLAG" referenced-column-name="ACTIVE_FLAG"/>
</join-table>
</many-to-many>
您的表设计没有指定它们之间的关系。你能清楚地说明它们之间的关系吗?你应该自己尝试一下,然后发布代码和你的问题,如果有问题的话。谢谢你的帮助,但由于loan_anchor和sme_anchor中的复合键无法工作。我得到了这个错误:原因是:org.hibernate.AnnotationException:org.eif.disys.iris.model.SmeAnchor.loanachors引用org.eif.disys.iris.model.loanachor的referencedColumnNames(PKID)未映射到单个属性。
CREATE TABLE "IRIS"."LOAN_SME"
( "SME_ANCHOR_PKID" VARCHAR2(32 CHAR),
"LOAN_ANCHOR_PKID" VARCHAR2(32 CHAR),
"ACTIVE_FLAG" VARCHAR2(50 CHAR)
)
ALTER TABLE "IRIS"."LOAN_SME" ADD CONSTRAINT "PK_LOAN_SME" PRIMARY KEY ("SME_ANCHOR_PKID", "ACTIVE_FLAG", "LOAN_ANCHOR_PKID")
CREATE TABLE "IRIS"."LOAN_ANCHOR"
( "LOAN_ID_STRD" VARCHAR2(240 CHAR),
"PORTFOLIO_PKID" VARCHAR2(32 CHAR),
"REPORT_PKID" VARCHAR2(32 CHAR),
"STATUS" VARCHAR2(250 CHAR),
"CURRENCY" VARCHAR2(250 CHAR),
"PURPOSE" VARCHAR2(253 CHAR),
"PKID" VARCHAR2(32 CHAR),
"ACTIVE_FLAG" VARCHAR2(50 CHAR),
)
ALTER TABLE "IRIS"."LOAN_ANCHOR" ADD CONSTRAINT "LAR_PK" PRIMARY KEY ("PKID", "ACTIVE_FLAG")
<many-to-many attribute-type="java.util.Set" fetch="EAGER" name="forwarderInstitutions" target-entity="com.temp.LoanAnchor">
<join-table name="LOAN_SME">
<inverse-join-column name="LOAN_ANCHOR_PKID" referenced-column-name="PKID"/>
<join-column name="SME_ANCHOR_PKID" referenced-column-name="PKID"/>
<join-column name="ACTIVE_FLAG" referenced-column-name="ACTIVE_FLAG"/>
</join-table>
</many-to-many>