2015-01-13 2 views
0

안녕하세요, 최대 절전 모드입니다. 내 데이터베이스에서 항목이 업데이트되지 않는 이유를 알아낼 수 없습니다 ... 내 애플리케이션에 계약, 은행, 계약자의 세 엔티티가 있습니다.최대 절전 모드 일대 다 연관 오류

각 계약은 하나의 계약자 및 은행과 관련이 있습니다.

계약자 또는 은행은 여러 계약을 체결 할 수 있습니다.

Contract.java

private String contractId; 
private Contract contractor 
private Bank bank; 

Contractor.java

private long contractorId; 
private Set<Contract> contracts 

Bank.java

private bankId; 
private Set<Contract> contracts; 

Hibernate.hbm.cfg

<class name="com.anksys.bgms.model.Contractor" table="BGMS_CONTRACTOR"> 
    <id name="contractorId" column="CONTRACTOR_ID" type="long"> 
     <generator class="identity"></generator> 
    </id> 
    <set name="contracts" table="BGMS_CONTRACT" inverse="true" lazy="true"> 
     <key> 
      <column name="CONTRACT_ID" not-null="true"></column> 
     </key> 
     <one-to-many class="com.anksys.bgms.model.Contract"/> 
    </set> 
</class> 
<class name="com.anksys.bgms.model.Bank" table="BGMS_BANK"> 
    <id name="bankId" column="BANK_ID" type="long"> 
     <generator class="identity"></generator> 
    </id> 
    <set name="contracts" table="BGMS_CONTRACT" lazy="true"> 
     <key> 
      <column name="CONTRACT_ID" not-null="true"></column> 
     </key> 
     <one-to-many class="com.anksys.bgms.model.Contract"/> 
    </set> 
</class> 

<class name="com.anksys.bgms.model.Contract" table="BGMS_CONTRACT"> 
    <id name="contractId" column="CONTRACT_ID" type="string"></id> 
    <many-to-one name="contractor" class="com.anksys.bgms.model.Contractor"></many-to-one> 
    <many-to-one name="bank" class="com.anksys.bgms.model.Bank"></many-to-one> 
</class> 
,174,

DATABASE 구조 : 끝에

bgms_bank: 
BANK_ID  bigint(20) No  
Index: PRIMARY BTREE Yes No CONTRACTOR_ID 4 A No 

bgms_contract: 
CONTRACT_ID  varchar(50)  No  
CONTRACTOR_ID bigint(20) No  
BANK_ID  bigint(20) No 
INDEX: 
Contract.contractor_id references(contractor.contractor_ID) 
Contract.Bank_ID references(bank.BANK_ID) 

bgms_contractor: 
CONTRACTOR_ID bigint(20) No 
INDEX: PRIMARY BTREE Yes No CONTRACTOR_ID   

이 수신 : org.springframework.dao.InvalidDataAccessResourceUsageException: Could not execute JDBC batch update; SQL [insert into BGMS_CONTRACT (GUARANTEE_AMOUNT, VALID_FROM, VALID_UPTO, EXTENDED_UPTO, contractor, bank, CONTRACT_ID) values (?, ?, ?, ?, ?, ?, ?)]; nested exception is org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update

Caused by: java.sql.BatchUpdateException: Unknown column 'contractor' in 'field list' 
+0

왜 신기원인가? 주석의 XML 매핑을 사용합니까? –

답변

0

이 시도 :

<class name="com.anksys.bgms.model.Contract" table="BGMS_CONTRACT"> 
    <id name="contractId" column="CONTRACT_ID" type="string"></id> 
    <many-to-one name="contractor" class="com.anksys.bgms.model.Contractor" column="contractor_id"></many-to-one> 
    <many-to-one name="bank" class="com.anksys.bgms.model.Bank" column="bank_id"></many-to-one> 
</class> 

내가 추가 한 column 속성 <many-to-one> 태그에

+0

고맙습니다 .... 지금 잘 작동합니다 :) – Harsh

+0

정확한 답으로 표시하는 것을 잊지 마십시오. :) –

관련 문제