2014-10-21 3 views
0

복합 기본 키가있는 엔티티를 만들었습니다.Apache OFBiz에서 복합 기본 키를 정의하고 사용하는 방법

<entity entity-name="XXX" package-name="org.ofbiz.yyy"> 

<field name="F1" type="id-ne"></field> 
<field name="F2" type="id-ne"></field> 
<field name="F3" type="id-ne"></field> 

<prim-key field="F1"/> 
<prim-key field="F2"/> 
</entity> 

여기서 F2는 시퀀스 번호와 같습니다. F1은 F2가 변경 될 때 동일한 값을 가질 수 있습니다.

Ex: F1 F2 F3 
    abc 1 some text 
    abc 2 some text 

내가 기본 키로 선언 했으므로 위와 같은 항목을 삽입해야합니다. 하지만 두 번째 항목을 삽입하는 동안 '기본 키 F1 중복 항목'오류가 나타납니다.

복합 기본 키를 정의하는 대체 방법을 알고 있지만 여기를 찾지 못했습니다.

단일 키에서 기본 키로 기본 키를 업데이트했습니다. 이 문제에 대해 저를 도우십시오. 미리 감사드립니다.

답변

0

문제점에 대한 해결책을 찾았습니다.

실제 문제는 처음에는 단일 기본 키로 테이블을 만들었습니다. 나중에 합성 기본 키가있는 테이블을 업데이트했습니다.

mysql이 메타 정보를 업데이트하지 않는다고 생각합니다. 이 때문에 단일 기본 키가있는 테이블을 고려하고 기본 키 오류에 대한 중복 항목을 던집니다.

나는이 테이블을 떨어 뜨려서 다시 만들었습니다. 이제 위의 예제와 같은 값을 삽입 할 수있게되었습니다.

기본 키 조합을 업데이트하면 ofbiz entitymodel.xml에서 테이블 정보를 지워야한다고 생각합니다.

감사합니다.

관련 문제