facebook

problem of Foreign key and primary key

  1. MyEclipse Archived
  2.  > 
  3. Database Tools (DB Explorer, Hibernate, etc.)
Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #231217 Reply

    I have two tables and i want to map it
    tables are following:

    AUDIT_LOG table:

    Name Null? Type
    —————————————————– ——– ————————————
    PS_BUS_UNIT_CD NOT NULL VARCHAR2(5)
    LOC_NO NOT NULL VARCHAR2(4)
    USERID NOT NULL VARCHAR2(15)
    TIMESTAMP NOT NULL DATE
    BEFORE_AFTER_IMAGE NOT NULL CHAR(1)
    TRANSACTION_ID NOT NULL NUMBER(38)
    AUDIT_LOG_ID NOT NULL NUMBER(38)
    AUDIT_UPDATE_TYPE_CD CHAR(1)
    AUDIT_RECORD_TYPE_CD CHAR(2)
    LAST_MODIFIED_DTTM DATE
    LAST_MODIFIED_TYPE CHAR(1)

    AUDIT_LOCATION_CONTACT table:

    Name Null? Type
    —————————————————– ——– ————–
    USERID NOT NULL VARCHAR2(15)
    TIMESTAMP NOT NULL DATE
    BEFORE_AFTER_IMAGE NOT NULL CHAR(1)
    TRANSACTION_ID NOT NULL NUMBER(38)
    AUDIT_LOG_ID NOT NULL NUMBER(38)
    PS_BUS_UNIT_CD NOT NULL VARCHAR2(5)
    LOC_NO NOT NULL VARCHAR2(4)
    LOCATION_CONTACT_ID NUMBER(38)
    LOC_CONTACT_TYPE_CD VARCHAR2(20)
    CONTACT_TYPE_CD CHAR(2)
    EMPLOYEE_NO VARCHAR2(10)
    CONTACT_NAME VARCHAR2(50)
    PHONE_NUMBER VARCHAR2(30)
    PHONE_EXTN VARCHAR2(12)
    EMAIL_ID VARCHAR2(64)

    and the mapping are:

    <hibernate-mapping>

    <class name=”AuditLogBO” table=”AUDIT_LOG”>

    <composite-id>

    <key-property name=”psBusUnitCD” column=”PS_BUS_UNIT_CD” type=”string”/>
    <key-property name=”locNO” column=”LOC_NO” type=”string”/>
    <key-property name=”userID” column=”USERID” type=”string”/>
    <key-property name=”timeStamp” column=”TIMESTAMP” type=”date”/>
    <key-property name=”beforeAfterImage” column=”BEFORE_AFTER_IMAGE” type=”string”/>
    <key-property name=”transactionID” column=”TRANSACTION_ID” type=”integer”/>
    <key-property name=”auditLogID” column=”AUDIT_LOG_ID” type=”integer”/>

    </composite-id>

    <property name=”auditUpdateType” column=”AUDIT_UPDATE_TYPE_CD” type=”string”/>

    <property name=”auditRecordTypeCD” column=”AUDIT_RECORD_TYPE_CD” type=”string”/>
    <property name=”lastModifiedDttm” column=”LAST_MODIFIED_DTTM” type=”date”/>
    <property name=”lastModifiedType” column=”LAST_MODIFIED_TYPE” type=”string”/>

    <list name=”LocationContact” cascade=”all-delete-orphan” inverse=”true” lazy=”true”>
    <key column=”PS_BUS_UNIT_CD”/>
    <index column=”LOC_NO”/>
    <one-to-many class=”AuditLocationContactBO”/>
    </list>

    </class>
    </hibernate-mapping>

    <hibernate-mapping>

    <class name=”AuditLocationContactBO” table=”AUDIT_LOCATION_CONTACT”>

    <composite-id>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”USERID” />
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”TIMESTAMP” />
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”BEFORE_AFTER_IMAGE”/>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”TRANSACTION_ID”/>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”AUDIT_LOG_ID” />
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”PS_BUS_UNIT_CD”/>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”LOC_NO” />
    </composite-id>

    <property name=”locationContactID” column=”LOCATION_CONTACT_ID” type=”integer”/>
    <property name=”locationContactTypeCD” column=”LOC_CONTACT_TYPE_CD” type=”string” />
    <property name=”contactTypeCD” column=”CONTACT_TYPE_CD” type=”string”/>
    <property name=”employeeNO” column=”EMPLOYEE_NO” type=”string”/>
    <property name=”contactName” column=”CONTACT_NAME” type=”string”/>
    <property name=”phoneNumber” column=”PHONE_NUMBER” type=”string”/>
    <property name=”phoneExtn” column=”PHONE_EXTN” type=”string”/>
    <property name=”emailID” column=”EMAIL_ID” type=”string”/>

    </class>

    </hibernate-mapping>

    I am facing the problem:

    [java] net.sf.hibernate.MappingException: Foreign key(AUDIT_LOCATION_CONTACT [TRANSACTION_ID])) must have same number of columns as the referenced primary key (AUDIT_LOG [PS_BUS_UNIT_CD,LOC_NO,USERID,TIMESTAMP,BEFORE_AFTER_IMAGE,TRANSACTION_ID,AUDIT_LOG_ID])

    pls give me sol for this if u have that

    thanx

    #231219 Reply

    @sarpe_sandeep wrote:

    I have two tables and i want to map it
    tables are following:

    AUDIT_LOG table:

    Name Null? Type
    —————————————————– ——– ————————————
    PS_BUS_UNIT_CD NOT NULL VARCHAR2(5)
    LOC_NO NOT NULL VARCHAR2(4)
    USERID NOT NULL VARCHAR2(15)
    TIMESTAMP NOT NULL DATE
    BEFORE_AFTER_IMAGE NOT NULL CHAR(1)
    TRANSACTION_ID NOT NULL NUMBER(38)
    AUDIT_LOG_ID NOT NULL NUMBER(38)
    AUDIT_UPDATE_TYPE_CD CHAR(1)
    AUDIT_RECORD_TYPE_CD CHAR(2)
    LAST_MODIFIED_DTTM DATE
    LAST_MODIFIED_TYPE CHAR(1)

    AUDIT_LOCATION_CONTACT table:

    Name Null? Type
    —————————————————– ——– ————–
    USERID NOT NULL VARCHAR2(15)
    TIMESTAMP NOT NULL DATE
    BEFORE_AFTER_IMAGE NOT NULL CHAR(1)
    TRANSACTION_ID NOT NULL NUMBER(38)
    AUDIT_LOG_ID NOT NULL NUMBER(38)
    PS_BUS_UNIT_CD NOT NULL VARCHAR2(5)
    LOC_NO NOT NULL VARCHAR2(4)
    LOCATION_CONTACT_ID NUMBER(38)
    LOC_CONTACT_TYPE_CD VARCHAR2(20)
    CONTACT_TYPE_CD CHAR(2)
    EMPLOYEE_NO VARCHAR2(10)
    CONTACT_NAME VARCHAR2(50)
    PHONE_NUMBER VARCHAR2(30)
    PHONE_EXTN VARCHAR2(12)
    EMAIL_ID VARCHAR2(64)

    and the mapping are:

    <hibernate-mapping>

    <class name=”AuditLogBO” table=”AUDIT_LOG”>

    <composite-id>

    <key-property name=”psBusUnitCD” column=”PS_BUS_UNIT_CD” type=”string”/>
    <key-property name=”locNO” column=”LOC_NO” type=”string”/>
    <key-property name=”userID” column=”USERID” type=”string”/>
    <key-property name=”timeStamp” column=”TIMESTAMP” type=”date”/>
    <key-property name=”beforeAfterImage” column=”BEFORE_AFTER_IMAGE” type=”string”/>
    <key-property name=”transactionID” column=”TRANSACTION_ID” type=”integer”/>
    <key-property name=”auditLogID” column=”AUDIT_LOG_ID” type=”integer”/>

    </composite-id>

    <property name=”auditUpdateType” column=”AUDIT_UPDATE_TYPE_CD” type=”string”/>

    <property name=”auditRecordTypeCD” column=”AUDIT_RECORD_TYPE_CD” type=”string”/>
    <property name=”lastModifiedDttm” column=”LAST_MODIFIED_DTTM” type=”date”/>
    <property name=”lastModifiedType” column=”LAST_MODIFIED_TYPE” type=”string”/>

    <list name=”LocationContact” cascade=”all-delete-orphan” inverse=”true” lazy=”true”>
    <key column=”PS_BUS_UNIT_CD”/>
    <index column=”LOC_NO”/>
    <one-to-many class=”AuditLocationContactBO”/>
    </list>

    </class>
    </hibernate-mapping>

    <hibernate-mapping>

    <class name=”AuditLocationContactBO” table=”AUDIT_LOCATION_CONTACT”>

    <composite-id>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”USERID” />
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”TIMESTAMP” />
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”BEFORE_AFTER_IMAGE”/>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”TRANSACTION_ID”/>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”AUDIT_LOG_ID” />
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”PS_BUS_UNIT_CD”/>
    <key-many-to-one name=”auditLog” class=”AuditLogBO” column=”LOC_NO” />
    </composite-id>

    <property name=”locationContactID” column=”LOCATION_CONTACT_ID” type=”integer”/>
    <property name=”locationContactTypeCD” column=”LOC_CONTACT_TYPE_CD” type=”string” />
    <property name=”contactTypeCD” column=”CONTACT_TYPE_CD” type=”string”/>
    <property name=”employeeNO” column=”EMPLOYEE_NO” type=”string”/>
    <property name=”contactName” column=”CONTACT_NAME” type=”string”/>
    <property name=”phoneNumber” column=”PHONE_NUMBER” type=”string”/>
    <property name=”phoneExtn” column=”PHONE_EXTN” type=”string”/>
    <property name=”emailID” column=”EMAIL_ID” type=”string”/>

    </class>

    </hibernate-mapping>

    I am facing the problem:

    [java] net.sf.hibernate.MappingException: Foreign key(AUDIT_LOCATION_CONTACT [TRANSACTION_ID])) must have same number of columns as the referenced primary key (AUDIT_LOG [PS_BUS_UNIT_CD,LOC_NO,USERID,TIMESTAMP,BEFORE_AFTER_IMAGE,TRANSACTION_ID,AUDIT_LOG_ID])

    pls give me sol for this if u have that

    thanx

    #236825 Reply

    jdsrinivas
    Member

    Iam facing simillar kind of problem..SOme one please suggest

    #237625 Reply

    Michal Kuna
    Member

    This message has not been recovered.

    #237636 Reply

    Riyad Kalla
    Member

    This message has not been recovered.

    #237637 Reply

    Michal Kuna
    Member

    This message has not been recovered.

    #237641 Reply

    Riyad Kalla
    Member

    This message has not been recovered.

    #237656 Reply

    Michal Kuna
    Member

    This message has not been recovered.

    #237657 Reply

    Riyad Kalla
    Member

    This message has not been recovered.

Viewing 9 posts - 1 through 9 (of 9 total)
Reply To: problem of Foreign key and primary key

You must be logged in to post in the forum log in