JPA 映射文件 jpa.reveng.xml配置问题


    
JPA映射文件jpa.reveng.xml的配置问题
 
JAP映射oracle 表时,因为字段类型是number, 所以生成的对象是BigDECIMAL,如果想类型是:java.util.Long 的话就必须修改配置文件如下:
 
<sql-type jdbc-type="DECIMAL" hibernate-type="java.lang.Long"></sql-type>
 
   
 
下面是oracle的JDBC-type与数据库字段类型之间的关系。
 
   
 
 
ARRAY BLOB Will be read back as BLOB
BIGINT NUMBER(38)   
BINARY RAW Oracle requires the specification of the size for RAW columns. If no size was specified, then 254 is used.
Will be read back as VARBINARY
BIT NUMBER(1) Oracle has no native boolean type.
BLOB BLOB   
BOOLEAN NUMBER(1) Oracle has no native boolean type.
Will be read back as BIT
CHAR CHAR   
CLOB CLOB   
DATALINK BLOB Will be read back as BLOB
DATE DATE   
DECIMAL NUMBER   
DISTINCT BLOB Will be read back as BLOB
DOUBLE DOUBLE PRECISION   
FLOAT FLOAT Will be read back as DOUBLE
INTEGER INTEGER   
JAVA_OBJECT BLOB Will be read back as BLOB
LONGVARBINARY BLOB Will be read back as BLOB
LONGVARCHAR CLOB Will be read back as CLOB
NULL BLOB Will be read back as BLOB
NUMERIC NUMBER Will be read back as DECIMAL
OTHER BLOB Will be read back as BLOB
REAL REAL   
REF BLOB Will be read back as BLOB
SMALLINT NUMBER(5)   
STRUCT BLOB Will be read back as BLOB
TIME DATE Will be read back as TIMESTAMP
TIMESTAMP Oracle8 platform: DATE
Oracle9/10 platforms: TIMESTAMP The TIMESTAMP native type is only supported in Oracle 9 and above.
TINYINT NUMBER(3)   
VARBINARY RAW Oracle requires the specification of the size for RAW columns. If no size was specified, then 254 is  
ARRAY BLOB Will be read back as BLOB
BIGINT NUMBER(38)   
BINARY RAW Oracle requires the specification of the size for RAW columns. If no size was specified, then 254 is used.
Will be read back as VARBINARY
BIT NUMBER(1) Oracle has no native boolean type.
BLOB BLOB   
BOOLEAN NUMBER(1) Oracle has no native boolean type.
Will be read back as BIT
CHAR CHAR   
CLOB CLOB   
DATALINK BLOB Will be read back as BLOB
DATE DATE   
DECIMAL NUMBER   
DISTINCT BLOB Will be read back as BLOB
DOUBLE DOUBLE PRECISION   
FLOAT FLOAT Will be read back as DOUBLE
INTEGER INTEGER   
JAVA_OBJECT BLOB Will be read back as BLOB
LONGVARBINARY BLOB Will be read back as BLOB
LONGVARCHAR CLOB Will be read back as CLOB
NULL BLOB Will be read back as BLOB
NUMERIC NUMBER Will be read back as DECIMAL
OTHER BLOB Will be read back as BLOB
REAL REAL   
REF BLOB Will be read back as BLOB
SMALLINT NUMBER(5)   
STRUCT BLOB Will be read back as BLOB
TIME DATE Will be read back as TIMESTAMP
TIMESTAMP Oracle8 platform: DATE
Oracle9/10 platforms: TIMESTAMP The TIMESTAMP native type is only supported in Oracle 9 and above.
TINYINT NUMBER(3)   
VARBINARY RAW Oracle requires the specification of the size for RAW columns. If no size was specified, then 254 is  
ARRAY BLOB Will be read back as BLOB
BIGINT NUMBER(38)   
BINARY RAW Oracle requires the specification of the size for RAW columns. If no size was specified, then 254 is used.
Will be read back as VARBINARY
BIT NUMBER(1) Oracle has no native boolean type.
BLOB BLOB   
BOOLEAN NUMBER(1) Oracle has no native boolean type.
Will be read back as BIT
CHAR CHAR   
CLOB CLOB   
DATALINK BLOB Will be read back as BLOB
DATE DATE   
DECIMAL NUMBER   
DISTINCT BLOB Will be read back as BLOB
DOUBLE DOUBLE PRECISION   
FLOAT FLOAT Will be read back as DOUBLE
INTEGER INTEGER   
JAVA_OBJECT BLOB Will be read back as BLOB
LONGVARBINARY BLOB Will be read back as BLOB
LONGVARCHAR CLOB Will be read back as CLOB
NULL BLOB Will be read back as BLOB
NUMERIC NUMBER Will be read back as DECIMAL
OTHER BLOB Will be read back as BLOB
REAL REAL   
REF BLOB Will be read back as BLOB
SMALLINT NUMBER(5)   
STRUCT BLOB Will be read back as BLOB
TIME DATE Will be read back as TIMESTAMP
TIMESTAMP Oracle8 platform: DATE
Oracle9/10 platforms: TIMESTAMP The TIMESTAMP native type is only supported in Oracle 9 and above.
TINYINT NUMBER(3)   
VARBINARY RAW Oracle requires the specification of the size for RAW columns. If no size was specified, then 254 is  
 

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE hibernate-reverse-engineering   
  SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >   
    
<hibernate-reverse-engineering>   
    
    <type-mapping>   
        <!-- jdbc-type is name fom java.sql.Types -->   
        <sql-type jdbc-type="VARCHAR" length='1' hibernate-type="yes_no"/>   
        <!-- length, scale and precision can be used to specify the mapping precisly -->   
        <sql-type jdbc-type="NUMERIC" precision='1' hibernate-type="boolean"/>   
        <!-- the type-mappings are ordered. This mapping will be consulted last,   
        thus overriden by the previous one if precision=1 for the column -->   
        <sql-type jdbc-type="BIGINT" hibernate-type="java.lang.Long"/>   
        <sql-type jdbc-type="INTEGER" hibernate-type="java.lang.Long"/>   
        <sql-type jdbc-type="NUMERIC" hibernate-type="java.lang.Long"/>   
    </type-mapping>   
    
    <!-- BIN$ is recycle bin tables in Oracle -->   
    <table-filter match-name="BIN$.*" exclude="true"/>   
    
    <!-- Exclude AppFuse tables from all catalogs/schemas -->   
    <!-- 按表名过滤表 -->   
    <table-filter match-name="app_user" exclude="true"/>   
    <table-filter match-name="role" exclude="true"/>   
    <table-filter match-name="user_role" exclude="true"/>   
         
</hibernate-reverse-engineering>

 



 

posted @ 2016-08-25 18:02  星火spark  阅读(1088)  评论(0编辑  收藏  举报