Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JPA/Hibernate映射中建模以下模型_Java_Hibernate_Jpa - Fatal编程技术网

Java 如何在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

如何在JPA/Hibernate映射中建模以下模型


表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>