hibernate 配置文件映射

  1.         <property name="curMonthtAmount" type="big_decimal">
                <column name="cur_montht_amount" scale="2" precision="13">
                    <comment>当月出口金额</comment>
                </column>
            </property>

  2. Hibernate 配置文件precision与scale的说法

    Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。

        NUMBER数据类型可以有两个限定符,如:

        column NUMBER ( precision, scale)

        precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。

        scale表示数字小数点右边的位数,scale默认设置为0.  如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

  3. <hibernate-mapping>   
  4.   
  5.     <class name="OrderBase" table="L_ORDERBASE" dynamic-update="true">   
  6.   
  7.         <id name="id" type="string" unsaved-value="null" >   
  8.             <column name="ORDERID" sql-type="varchar2(32);" not-null="true"/>   
  9.             <generator class="uuid.hex"/>   
  10.         </id>   
  11.   
  12.         <property name="name">   
  13.             <column name="NAME" sql-type="varchar2(30);" not-null="true"/>   
  14.         </property>   
  15.   
  16.         <property name="type">   
  17.             <column name="TYPE" sql-type="varchar2(20);" not-null="false"/>   
  18.         </property>   
  19.   
  20.         <property name="custid" column="CUSTID" type="big_decimal">   
  21.   
  22.     </property>   
  23.   
  24.     </class>   
  25.   
  26. </hibernate-mapping>  
<hibernate-mapping>

    <class name="OrderBase" table="L_ORDERBASE" dynamic-update="true">

        <id name="id" type="string" unsaved-value="null" >
            <column name="ORDERID" sql-type="varchar2(32);" not-null="true"/>
            <generator class="uuid.hex"/>
        </id>

        <property name="name">
            <column name="NAME" sql-type="varchar2(30);" not-null="true"/>
        </property>

        <property name="type">
            <column name="TYPE" sql-type="varchar2(20);" not-null="false"/>
        </property>

        <property name="custid" column="CUSTID" type="big_decimal">

	</property>

    </class>

</hibernate-mapping>



但是Hibernate在生成建表的DDL的时候生成的是:

Java代码 复制代码
  1. drop table L_ORDERBASE cascade constraints   
  2. create table L_ORDERBASE (   
  3.    ORDERID varchar2(32); not null,   
  4.    NAME varchar2(30); not null,   
  5.    TYPE varchar2(20);,   
  6.    CUSTID NUMBER(19255);,   
  7.    primary key (ORDERID);   
  8. );  

你可能感兴趣的:(oracle,sql,Hibernate)