[hibernate-issues] [Hibernate-JIRA] Commented: (HBX-779) jdbc reengineer sql-type problem with oracle 9i
jacky hua (JIRA)
noreply at atlassian.com
Tue Oct 17 22:07:24 EDT 2006
[ http://opensource.atlassian.com/projects/hibernate/browse/HBX-779?page=comments#action_24857 ]
jacky hua commented on HBX-779:
-------------------------------
Sorry, I resolved this issue, the number(19) in oracle should be mapped to sql-type:DECIMAL not NUMERIC, this is not a bug.
> 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