2014-10-06 16 views
0

我試圖使用的MyBatis從我的Java應用程序操縱Oracle數據庫,但我與Oracle的一個初學者...的Java +甲骨文,ROWID類型的問題

這裏是甲骨文標籤:

CREATE TABLE TOTAL.T_OBSERVATION 
(
    IDOBSERVATION   NUMBER    NOT NULL, 
    IDENGIN     NUMBER, 
    ID_MESSAGEBALISE   NUMBER, 
    DATEOBSERVATION   DATE, 
    X      FLOAT(126), 
    Y      FLOAT(126), 
    ECARTHORAIRE    FLOAT(126), 
    ECARTTRAJECT    FLOAT(126), 
    TYPE_OBSERVATION   NUMBER(3), 
    FIABILITE    FLOAT(126), 
    VITESSE     FLOAT(126), 
    CAP      FLOAT(126), 
    NOTRAINSUIVI    VARCHAR2(10 BYTE), 
    NOTRAINCOMP    VARCHAR2(10 BYTE), 
    ETATALIM     NUMBER, 
    USER_INTERRO    NUMBER, 
    STATUT_TRAIN    NUMBER(1), 
    STATUT_ECART_HORAIRE  NUMBER(1), 
    STATUT_ECART_ITINERAIRE NUMBER(1), 
    STATUT_RECURRENCE  NUMBER(1), 
    STATUT_DEPLACEMENT  NUMBER(1), 
    STATUT_FIABILITE_NULLE NUMBER(1), 
    STATUT_SUSPENSION  NUMBER(1) 
) 

然後,我創建其屬性對應表中的列的Java對象:

public class Msg { 
public int IdObservation; 
public int IdEngin; 
public int IdMsgBalise; 
public String DateObs; 
public float X; 
public float Y; 
public float EcartHoraire; 
public float EcartTrajet; 
public int TypeObs; 
public float Fiabilite; 
public float Vitesse; 
public float Cap; 
public String NoTrainSuivi; 
public String NoTrainComp; 
public int EtatAlim; 
public int UserInterro; 
public int StatutTrain; 
public int StatutEcartHoraire; 
public int StatutEcartItineraire; 
public int StatutRecurrence; 
public int StatutDeplacement; 
public int StatutFiabiliteNulle; 
public int StatutSuspension; 

最後我在Mapper.xml文件biuld SQL查詢:

INSERT INTO T_OBSERVATION 
    VALUES(SEQ_OBSERV.nextval, 
      #{IdEngin}, 
      #{IdMsgBalise}, 
      TO_DATE('#{DateObs}','dd/mm/yyyy hh24:mi:ss'), 
      #{X}, 
      #{Y}, 
      #{EcartHoraire}, 
      #{EcartTrajet}, 
      #{TypeObs}, 
      #{Fiabilite}, 
      #{Vitesse}, 
      #{Cap}, 
      #{NoTrainSuivi}, 
      #{NoTrainComp}, 
      #{EtatAlim}, 
      #{UserInterro}, 
      #{StatutTrain}, 
      #{StatutEcartHoraire}, 
      #{StatutEcartItineraire}, 
      #{StatutRecurrence}, 
      #{StatutDeplacement}, 
      #{StatutFiabiliteNulle}, 
      #{StatutSuspension}) 

但問題是,查詢返回一個ROWID對象的地方,我無法弄清楚它是什麼以及它來自哪裏。

java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected NUMBER got ROWID 

回答