2012-08-10 4 views
0

Java 응용 프로그램에서 Oracle 10g를 데이터베이스로 사용하여 최대 절전 모드를 사용하고 있습니다. 문제가 발생하여 계속 진행할 수 없으며 여기에 도움이 필요합니다. 다음은 내가 직면 한 문제입니다.Oracle과 최대 절전 모드 간 Java 데이터 형식이 일치하지 않습니다.

데이터 유형이 Varchar2(1 byte) 인 My Oracle 테이블 중 하나에 Column이 있습니다. 내 pojo 클래스에서 사용해야하는 적절한 dataype를 알고 싶습니다. 또한 hibernate 매핑 파일에서 동일한 속성에 대한 데이터 유형이 있어야합니다. 최대 절전 모드에서 변환을 수행 할 수없는 것처럼 오류가 발생하는 파일을 실행할 때. 아래에있는 내 POJO와 .hbm 파일

<class name="com.testing" table="configuration"> 
    <id name="configID" type="java.lang.Integer"> 
     <column name="configuration_id" /> 
     <generator class="identity" /> 
    </id> 
    <property name="isCurrent" type="Not-SURE"> 
     <column name="is_current" not-null="true" /> 
    </property> 

내가 얘기하고 열은 POJO와 .hbm.xml 파일의 isCurrent 속성입니다

public class destination implements Serializable{ 

    private String configId;   
    private String isCurrent;   
    //other properties and getter, setters 

} 

destination.hbm.xml입니다. db에 Varchar2(1 byte)으로 정의됩니다. 나는 데이터 유형에 대해 확실하지 않고 String이라고 표시했으나 문제는 여전히 지속됩니다.

그물을 검색했지만이 문제에 대해 적절한 해결책이 없습니다.

제 머리를 많이 먹으면서 저를 도와주세요.

+0

처럼

public class destination implements Serializable{ private String configId; private boolean current; public boolean isCurrent() { return current; } } 

과 HBM 매핑 할 수 있습니다. –

+0

어떤 데이터 유형을 시도 했습니까? – devang

+0

안녕하세요 gotuskar, 나는 pojo 클래스의 isCurrent 속성에 대한 데이터 유형으로 String, Char 및 Byte를 시도했지만 행운이 없습니다. 또한 주요 관심사는 hbm.xml 파일의 매핑입니다. 여기에서도 같은 문제를 시도했지만. 안녕하세요 Arron, 나는 지금 나와 정확한 오류 메시지가 없지만 hibernate는 hbm 파일의 매핑을 사용하여 isCurrent 필드에 대한 변환을 시도하고 있습니다. – vikeng21

답변

1

나는 당신을 클래스의 String으로 선언했지만 xml의 Integer로 지정한 configId에 중점을 둡니다.

<id name="configID" type="java.lang.Integer"> 
+0

죄송합니다. 단지 오타입니다. pojo 클래스의 Integer 값 – vikeng21

+0

안녕하세요, 감사합니다. 내가 말한 configId 속성은 typo.and라고 말했고 전체 hbm.xml 및 pojo 클래스 파일을 게시했는지는 알 수 없습니다. 여러분이 분명히 실수를 발견했을 것입니다. 저질렀다. 물론 나머지 hbm.xml 파일에는 pojo 클래스의 다른 데이터 유형에 매핑 된 속성이있었습니다. 각각의 재산을 다 지나친 후 나는 내가 한 실수를 발견했다. 다른 사람들에게 내 충고는 질문 할 때 전체 hbm.xml 및 pojo 수업을 게시하십시오. 누군가 실수가 무엇인지 알 수 있습니다 .. – vikeng21

0

여러분은 현재 플래그를 레코드에 저장하려고한다고 추측합니다. 이 경우 당신은 당신이 정확한 오류 메시지를 게시 경우 도움이 될

<property name="current" type="yes_no"> 
     <column name="is_current" not-null="true" /> 
    </property> 
+0

감사합니다 manko. 그래, 난 칼럼에 isCurrent에 대한 Y 값을 저장해야하지만 Oracle에서 Varchar2 (1 바이트)의 열 데이터 유형은 이미이 옵션을 시도했지만 최대 절전 모드에서는 "isCurrent 속성에 대한 getter를 찾을 수 없습니다"라는 말을 topluizer 오류가 발생합니다. . 일종의 매핑 문제 또는 데이터 유형 문제인지 확실하지 않습니다. – vikeng21

+0

manko 당신의 솔루션은 또한 부울로 속성의 데이터 유형을 변환하면 작동합니다. 잘 거기에 내가 잘못 매핑 한 다른 속성이있었습니다. 너 덕분이야. – vikeng21