-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Error when trying a composite key
PostPosted: Tue Jun 01, 2004 1:27 pm 
Beginner
Beginner

Joined: Thu Apr 15, 2004 2:01 pm
Posts: 25
Hi

We are getting following error when using composite key.
Can please any one help on this?

[6/1/04 13:19:21:282 EDT] 2af5d88d SystemErr R net.sf.hibernate.HibernateException: identifier of an instance of com.bunge.domain.position.PositionTradeAudit altered from com.bunge.domain.position.PositionTradeAuditPk@6941c36a to com.bunge.domain.position.PositionTradeAuditPk@6941c36a
at net.sf.hibernate.impl.SessionImpl.checkId(SessionImpl.java:2606)
at net.sf.hibernate.impl.SessionImpl.flushEntity(SessionImpl.java:2429)
at net.sf.hibernate.impl.SessionImpl.flushEntities(SessionImpl.java:2422)
at net.sf.hibernate.impl.SessionImpl.flushEverything(SessionImpl.java:2224)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2203)
at com.bunge.service.positions.dao.hibernate.HibernatePositionsDAO.createTradeAudit(HibernatePositionsDAO.java:63)
at com.bunge.service.positions.ejb.PositionsServiceBean.getCalcAndStore(PositionsServiceBean.java:195)
at com.bunge.service.positions.ejb.PositionsServiceBean.updatePosition(PositionsServiceBean.java:108)
at com.bunge.service.positions.ejb.PositionsServiceBean.updatePosition(PositionsServiceBean.java:44)
at com.bunge.service.positions.ejb.EJSRemoteStatelessPositionsService_c779d41d.updatePosition(EJSRemoteStatelessPositionsService_c779d41d.java:53)
at com.bunge.service.positions.ejb._EJSRemoteStatelessPositionsService_c779d41d_Tie.updatePosition__com_bunge_domain_trade_Contract(_EJSRemoteStatelessPositionsService_c779d41d_Tie.java:138)
at com.bunge.service.positions.ejb._EJSRemoteStatelessPositionsService_c779d41d_Tie._invoke(_EJSRemoteStatelessPositionsService_c779d41d_Tie.java:111)
at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:602)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:455)
at com.ibm.rmi.iiop.ORB.process(ORB.java:402)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1685)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2173)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:64)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
Exiting from updatePosition(Contract contract) with Position object:


Classes are here as follows:
******************************************************

package com.bunge.domain.position;

import java.io.Serializable;
import java.util.Date;

import com.bunge.domain.trade.id.ContractId;
/**
* $Id: PositionTradeAudit.java,v 1.5 2004/05/28 20:44:31 narsimha Exp $
* Last modified by $Author: narsimha $
* Copyright (C) 2003 Bunge Global Markets. All rights reserved
*/
public class PositionTradeAudit implements Serializable {


private PositionTradeAuditPk positionTradeAuditPk;
private Double quanitiy;
private Double totalAmount;
private Double basisAmount;
private String updateBy;
private Date updatedOn;



private int action;
public PositionTradeAudit(){
}
/**
* @return
*/
public int getAction() {
return action;
}
/**
* @param i
*/
public void setAction(int i) {
action = i;
}

/**
* @return
*/
public Double getBasisAmount() {
return basisAmount;
}

/**
* @return
*/
public Double getQuanitiy() {
return quanitiy;
}

/**
* @return
*/
public Double getTotalAmount() {
return totalAmount;
}

/**
* @return
*/
public String getUpdateBy() {
return updateBy;
}

/**
* @return
*/
public Date getUpdatedOn() {
return updatedOn;
}

/**
* @param double1
*/
public void setBasisAmount(Double double1) {
basisAmount = double1;
}

/**
* @param double1
*/
public void setQuanitiy(Double double1) {
quanitiy = double1;
}

/**
* @param double1
*/
public void setTotalAmount(Double double1) {
totalAmount = double1;
}

/**
* @param string
*/
public void setUpdateBy(String string) {
updateBy = string;
}

/**
* @param date
*/
public void setUpdatedOn(Date date) {
updatedOn = date;
}

/**
* @return
*/
public PositionTradeAuditPk getPositionTradeAuditPk() {
return positionTradeAuditPk;
}

/**
* @param pk
*/
public void setPositionTradeAuditPk(PositionTradeAuditPk pk) {
positionTradeAuditPk = pk;
}

}


/*
* Created on Jun 1, 2004
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package com.bunge.domain.position;

import java.io.Serializable;
import java.util.Date;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

/**
* @author cnmedik
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class PositionTradeAuditPk implements Serializable{


private Long positionId;
private Long tradeId;
private Date actionDate;

public boolean equals(Object o){

if (o instanceof PositionTradeAuditPk){
PositionTradeAuditPk uc = (PositionTradeAuditPk) o;
new EqualsBuilder()
.append(this.getActionDate(), uc.getActionDate())
.append(this.getPositionId(), uc.getPositionId())
.append(this.getTradeId(), uc.getTradeId())
.isEquals();
}
return false;
}
public int hashCode() {
return new HashCodeBuilder()
.append(this.getActionDate())
.append(this.getPositionId())
.append(this.getTradeId())
.toHashCode();
}
/**
* @return
*/
public Date getActionDate() {
return actionDate;
}

/**
* @return
*/
public Long getPositionId() {
return positionId;
}

/**
* @return
*/
public Long getTradeId() {
return tradeId;
}

/**
* @param date
*/
public void setActionDate(Date date) {
actionDate = date;
}

/**
* @param long1
*/
public void setPositionId(Long long1) {
positionId = long1;
}

/**
* @param long1
*/
public void setTradeId(Long long1) {
tradeId = long1;
}

}



<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping schema="BGM_POSITION_OBJECT">
<class name="com.bunge.domain.position.PositionTradeAudit" table="TRADE_UPDATE_TRACE">

<composite-id name="positionTradeAuditPk" class="com.bunge.domain.position.PositionTradeAuditPk">
<key-property name="positionId"/>
<key-property name="tradeId"/>
<key-property name="actionDate" column="ACTION_DATE" type="date"/>
</composite-id>

<property name="action" column="ACTION_ID" type="integer"/>
<property name="quanitiy" column="QUANTITY" type="double"/>
<property name="basisAmount" column="BASIS_AMOUNT" type="double"/>
<property name="totalAmount" column="TOTAL_AMOUNT" type="double"/>
<property name="updatedOn" column="UPDATED_ON" type="date"/>
<property name="updateBy" column="UPDATED_BY" type="string"/>

</class>
</hibernate-mapping>


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 02, 2004 5:55 pm 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
You must not do setCompositeKey() on an instance already attacked to a session.

_________________
Emmanuel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.