[hibernate-issues] [Hibernate-JIRA] Created: (HBX-731) All the fields are marked as <key-property> in <composite-id>

Al Dev (JIRA) noreply at atlassian.com
Thu Aug 17 22:43:19 EDT 2006


All the fields are marked as <key-property> in <composite-id>
-------------------------------------------------------------

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

 Environment: Hibernate Tools 3.1.0.beta5
MS Windows, Oracle 9i server

    Reporter: Al Dev


All the fields are marked as <key-property> in <composite-id>
in the Scbcrse.hbm.xml file. How come the tool is not picking up the unique index  key fields in the database table?
What I expect from the hibernate tool is that it should not the unique key indexes created for the database table and 
based on that it should make the <composite-id>  fields. 
It looks like the tool is completely ignoring the unique key indexes created on the table.

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Aug 16, 2006 4:23:47 PM by Hibernate Tools 3.1.0.beta5 -->
<hibernate-mapping>
    <class name="edu.sjcd.hibernate.oracle.ScbcrseMy" table="SCBCRSE" schema="SATURN">
        <composite-id name="id" class="edu.sjcd.hibernate.oracle.generated.ScbcrseId">
            <key-property name="scbcrseSubjCode" type="string">
                <column name="SCBCRSE_SUBJ_CODE" length="4" />
            </key-property>
            <key-property name="scbcrseCrseNumb" type="string">
                <column name="SCBCRSE_CRSE_NUMB" length="5" />
            </key-property>
            <key-property name="scbcrseEffTerm" type="string">
                <column name="SCBCRSE_EFF_TERM" length="6" />
            </key-property>
            <key-property name="scbcrseCollCode" type="string">
                <column name="SCBCRSE_COLL_CODE" length="2" />
            </key-property>
            <key-property name="scbcrseDivsCode" type="string">
                <column name="SCBCRSE_DIVS_CODE" length="4" />
            </key-property>
            <key-property name="scbcrseDeptCode" type="string">
                <column name="SCBCRSE_DEPT_CODE" length="4" />
            </key-property>
        </composite-id>
    </class>
</hibernate-mapping>

I have table in oracle which has fields like this:

CREATE TABLE SATURN.SCBCRSE
(
  SCBCRSE_SUBJ_CODE             VARCHAR2(4 BYTE) NOT NULL,
  SCBCRSE_CRSE_NUMB             VARCHAR2(5 BYTE) NOT NULL,
  SCBCRSE_EFF_TERM              VARCHAR2(6 BYTE),
  SCBCRSE_COLL_CODE             VARCHAR2(2 BYTE),
  SCBCRSE_DIVS_CODE             VARCHAR2(4 BYTE),
  SCBCRSE_DEPT_CODE             VARCHAR2(4 BYTE)
)
CREATE UNIQUE INDEX SATURN.SCBCRSE_KEY_INDEX ON SATURN.SCBCRSE
(SCBCRSE_SUBJ_CODE, SCBCRSE_CRSE_NUMB, SCBCRSE_EFF_TERM)

And I have the reveng.xml as :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
<hibernate-reverse-engineering>
<schema-selection match-schema="SATURN" />
<type-mapping>
	<sql-type jdbc-type="NUMERIC" precision="22" scale="0" hibernate-type="long" />
</type-mapping>
	<table-filter match-name="SCBCRSE.*" />
</hibernate-reverse-engineering>



-- 
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