[hibernate-issues] [Hibernate-JIRA] Created: (HBX-779) jdbc reengineer sql-type problem with oracle 9i

jacky hua (JIRA) noreply at atlassian.com
Tue Oct 17 21:46:24 EDT 2006


jdbc reengineer sql-type problem with oracle 9i
-----------------------------------------------

         Key: HBX-779
         URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-779
     Project: Hibernate Tools
        Type: Bug

  Components: reverse-engineer  
    Versions: 3.2beta8    
 Environment: windowsxp sp2, jdk 1.4.2, eclipse 3.1.2
    Reporter: jacky hua


I used the ant task hibernate-tools provided like the below to generate hbms xml
    <target name="default" description="generate hbm">
    	<delete dir="./generate"/>
    	<mkdir dir="./generate"/>
        <hibernatetool destdir="./generate">
        	<jdbcconfiguration 
        		configurationfile="./metadata/hibernate.cfg.xml" 
        		revengfile="./metadata/hibernate.reveng.xml"
        		packagename="net.ema.examples.sa"
        		detectmanytomany="true"
        		detectoptimisticlock="true">
        	</jdbcconfiguration>
        	<hbm2hbmxml destdir="./generate" /> 
        </hibernatetool>
    </target>

the ./metadata/hibernate.cfg.xml like the below:
<?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>
	<schema-selection match-catalog="TITAN" match-schema="TITAN" />

	<type-mapping>
		<!-- jdbc-type is name fom java.sql.Types -->

		<!-- 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="NUMERIC" precision="19" hibernate-type="long" />
		<sql-type jdbc-type="TIMESTAMP" hibernate-type="java.util.Date" />
	</type-mapping>

	<!-- BIN$ is recycle bin tables in Oracle -->
	<table-filter match-name="BIN$.*" exclude="true" />

</hibernate-reverse-engineering>

But the <sql-type jdbc-type="NUMERIC" precision="19" hibernate-type="long" /> didn't work, also generate big_decimal type not long type, otherwise the others two sql-type rules worked. the not affected column:USER_ID was pk of my table. the generated hbm file is like the below:
    <class name="net.ema.examples.sa.UserModel" table="T_SA_USER" schema="TITAN">
        <id name="userId" type="big_decimal">
            <column name="USER_ID" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="logonName" type="string">
            <column name="LOGON_NAME" length="60" />
        </property>
        <property name="password" type="string">
            <column name="PASSWORD" length="80" />
        </property>
        <property name="isOrgAdmin" type="java.lang.Boolean">
            <column name="IS_ORG_ADMIN" precision="1" scale="0" />
        </property>
        <property name="remark" type="string">
            <column name="REMARK" length="400" />
        </property>
        <property name="createDate" type="java.util.Date">
            <column name="CREATE_DATE" length="11" />
        </property>
        <property name="status" type="string">
            <column name="STATUS" length="2" />
        </property>
    </class>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira




More information about the hibernate-issues mailing list