2010-12-29 3 views
0

Sybase ASE 데이터베이스와 함께 최대 절전 모드 3.5를 사용하고 있습니다. 테이블 테이블에 기본 키 PK1이 있습니다. 내 기본 키 생성에 select generator 클래스를 사용했습니다.Sybase를 사용하는 Hibernate의 Identity Generator

<id name="pk1" type="java.math.BigInteger"> 
      <column name="PK_ID" /> 
       <generator class="select"> 
        <param name="key">unique</param> 
       </generator> 
</id> 

나는 외국 키로 PK_ID를 사용하지만 기본 key.I이로의 매핑을 보관하지 또 하나 개의 클래스를, 내가 신분 생성기를 사용하는 경우

<property name="PK_ID1" type="java.math.BigInteger"> 
      <column name="SHIP_EVENT_ID" length="23" not-null="false" /> 
</property> 

이 작동하는 것 같다가 괜찮아.하지만 생성기를 선택하기 위해 변경할 때. 제약 위반 예외가 표시된다. 새 값이 생성되고 두 번째 테이블의 pojo 클래스로 설정되었지만.

제발 도와주세요!

감사 Dwarak 백 엔드에서 ASE와 같은 엔진을

답변

0

, 당신의 DDL 변경을 할 몇 가지 OO 프론트 엔드를 사용하는 것은 좋지 않습니다. 물론 이것은 프론트 엔드의 버그이지만 이것이 유일한 것이 아닙니다. 더 중요한 것은 Sybase 기능의 약 5 % 만 사용할 수 있다는 것입니다. ASE에서 무료로 제공되는 Sybase Client 소프트웨어를 사용하지 않는 이유는 무엇입니까? SybaseCentral 모든 DDL 및 관리 작업과 모든 SQL 작업 (DML, 저장된 프로 시저, SQL 테스트)을위한 InteractiveSQL. 더 직접적인 것뿐만 아니라, 많이 더 빠른 개발 시간입니다. 오브젝트를 설정하고 테스트 한 후에는 원하는 프런트 엔드를 사용하여 해당 오브젝트에 대해 명령 (저장된 procs 또는 테스트 된 SQL)을 실행하십시오.