2013-06-27 1 views
1

현재 '이메일'속성이 하나있는 사용자 클래스 (@PC)가 있습니다. 사용자 클래스가 저장되는 사용자 테이블이 JDO에서 관리하지는 않지만 대상이되는 추가 열을 갖기를 원합니다. PM 외부에서 인증이 발생합니다. Datanucleus에 의해 테이블을 자동으로 생성 한 다음 테이블을 변경하면 모든 컬럼이 추가되어 모든 것이 예상대로 작동합니다.Datanucleus SchemaTool은 PC에 바인딩되지 않지만 JDO ORM에 매핑되는 추가 열을 만들 수 있습니까?

물론 스키마 생성/업데이트를 위해 SchemaTool을 사용하게되어 기쁩니다. 그러나 해당 사용자 테이블에 수동 ALTER 테이블 프로 시저를 갖고 싶지는 않습니다. 순진하게도 나는 (생략 대상) ORM 파일에 두 개의 여분의 열을 넣어 시도했다 :

<package name="bo"> 
    <class name="User" table="tb_user"> 
     <column name="USER_SECURITY" jdbc-type="VARCHAR" length="64"/> 
     <column name="SEC_SALT" jdbc-type="VARCHAR" length="10"/> 
    </class> 
    </package> 

하지만, ORM 파일이 기록에 따라로드 입력해도 SchemaTool은 여분의 열을 생성하지 않았다.

BTW : JDO 수명주기 동안 해당 열을 매핑 및 관리하고 싶지는 않습니다.

그래서 Schematool에서 테이블에 여분의 열을 생성 할 수 있습니까 아니면 Datanucleus에서 관리하지 않는 다른 테이블로 정렬해야합니까?

감사

답변

0

JDO 스펙가이 링크에서 볼 수 있듯이 같은 정의하고, 내가 링크 텍사스 SchemaTool 에 http://www.datanucleus.org/products/accessplatform_3_3/jdo/orm/schema_mapping.html#unmapped

+0

같은 매핑되지 않은 열을 사용하여 테스트 결과 아무 문제가 없다! .orm 파일에서 .jdo 파일로 컬럼 정의를 옮기면 문제가 없습니다. 그러나 SchemaTool은 .orm 파일에서 정의 된 테이블 이름보다 .orm 파일에서 정의 된 테이블 이름을 무시합니다. 예상)하지만 매핑되지 않은 열은 .orm에서 완전히 무시됩니다. 덕분에 – comeGetSome

+0

덕분에 문제 추적기에보고하지 않으시겠습니까? ORM 메타 데이터를 JDO 메타 데이터에 병합하는 것과 관련된 몇 가지 문제가있을 수 있습니다. – DataNucleus

관련 문제