Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于Hibernate3中的saveOrUpdateAll,具有相同标识符值的不同对象已与会话关联_Java_Hibernate_Postgresql_Jpa_Hibernate Mapping - Fatal编程技术网

Java 对于Hibernate3中的saveOrUpdateAll,具有相同标识符值的不同对象已与会话关联

Java 对于Hibernate3中的saveOrUpdateAll,具有相同标识符值的不同对象已与会话关联,java,hibernate,postgresql,jpa,hibernate-mapping,Java,Hibernate,Postgresql,Jpa,Hibernate Mapping,在修改的情况下,它会给出org.hibernate.ununiqueObjectException。 在我的BidderBO课上 @Override @Transactional(propagation=Propagation.REQUIRED, rollbackFor=Exception.class) public boolean updateBidder(BiddersDetailForm bidderDetailForm, MISSessionBean misSessionBean) th

在修改的情况下,它会给出
org.hibernate.ununiqueObjectException
。 在我的BidderBO课上

@Override
@Transactional(propagation=Propagation.REQUIRED, rollbackFor=Exception.class)
public boolean updateBidder(BiddersDetailForm bidderDetailForm, MISSessionBean misSessionBean) throws MISException {
    boolean status = false;
    boolean childStatus =false;
    try {
        BidderHeaderBean bidderHeaderBean = populaBidderHeaderBean(bidderDetailForm);

        MISAuditBean misAuditBean = new MISAuditBean();
        misAuditBean.setStatus(MISConstants.MASTER_STATUS_VERIFIED);
        misAuditBean.setEntBy(misSessionBean.getEnteredBy());
        misAuditBean.setEntDate(misSessionBean.getEnteredDate());
        bidderHeaderBean.setMisAuditBean(misAuditBean);

        status = bidderHeaderDao.updateBidderHeader(bidderHeaderBean);

        if(status){
            long bidderInfoId = bidderDetailForm.getBidInfoId();
            List<BidderDetailBean> bidderDetailBeans = populateBidderDetailBeans(bidderDetailForm, bidderInfoId,  misSessionBean, MISConstants.MASTER_STATUS_VERIFIED);
            log.debug("\nBidder DetailBeans\t"+bidderDetailBeans);
            for(BidderDetailBean bidderDetailBean:bidderDetailBeans ){
                log.debug("bank name  ==========="+bidderDetailBean.getBankName());
                log.debug("bid amount ==========="+bidderDetailBean.getBidAmount());
                log.debug("getBidderName ==========="+bidderDetailBean.getBidderName());
                log.debug("getBidInfoId ==========="+bidderDetailBean.getBidInfoId());
                log.debug("getSeqBidId ==========="+bidderDetailBean.getSeqBidId());
                log.debug("status ==========="+bidderDetailBean.getMisAuditBean().getStatus());
                log.debug("bid sale date ==========="+bidderDetailBean.getMisAuditBean().getEntDate());

                }
            childStatus = bidderDetailDao.updateBidderDetailBeans(bidderDetailBeans);
            if(!childStatus){
                throw new MISException(MISExceptionCodes.MIS003, "Bidder Details are not updated for "+bidderDetailForm.getTenderId());
            }

        }
    } catch (DataAccessException e) {
        log.error(e.getLocalizedMessage(),e);
        throw new MISException(e.getMostSpecificCause());
    } catch (MISException e) {
        log.error(e.getLocalizedMessage(),e);
        throw e;
    }
    return status && childStatus;
}

2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bank name  ===========State Bank of Patiala
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid amount ===========1452250.0
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidderName ===========7575
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidInfoId ===========3517
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getSeqBidId ===========5268
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] status ===========U
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid sale date ===========2014-06-27 10:04:46.857
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bank name  ===========State Bank of Patiala
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid amount ===========992620.0
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidderName ===========Ven00002
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidInfoId ===========3517
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getSeqBidId ===========5267
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] status ===========D
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid sale date ===========2014-06-27 10:04:46.857
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bank name  ===========State Bank of Patiala
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid amount ===========1452250.0
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidderName ===========7575
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidInfoId ===========3517
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getSeqBidId ===========5268
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] status ===========D
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid sale date ===========2014-06-27 10:04:46.857
2014-06-27 10:10:08,667 ERROR [com.prwss.mis.tender.BidderBOImpl] a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]
org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdateAll(HibernateTemplate.java:757)
    at com.prwss.mis.tender.biddersdetail.dao.BidderDetailDaoImpl.saveOrUpdateBidderDetailBeans(BidderDetailDaoImpl.java:53)
    at com.prwss.mis.tender.BidderBOImpl.updateBidder(BidderBOImpl.java:131)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy34.updateBidder(Unknown Source)
    at com.prwss.mis.tender.struts.BiddersDetailAction.update(BiddersDetailAction.java:318)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
    at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:113)
    at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]
    at org.hibernate.engine.StatefulPersistenceContext.checkUniqueness(StatefulPersistenceContext.java:638)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:305)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:246)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:112)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
    at org.springframework.orm.hibernate3.HibernateTemplate$18.doInHibernate(HibernateTemplate.java:761)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
    ... 49 more  
而BidderHeaderBean是

public class BidderHeaderBean implements Serializable {

/**
 * Initial Version
 */
private static final long serialVersionUID = 6163541390640145180L;

@Id
@SequenceGenerator(name="seq_bid_info_id",      sequenceName="prwss_main.seq_bid_info_id")
@GeneratedValue(generator="seq_bid_info_id", strategy=GenerationType.AUTO)
@Column(name="bid_info_id", nullable=false)
private long bidInfoId;

@Column(name="location_id")
private String locationId;

@Column(name="tender_id")
private String tenderId;

@Column(name="bidding_phase")
private int biddingPhase;

@Column(name="bid_opening_date")
private Date bidOpeningDate;

@Column(name="reference_tender_id")
private String referenceTenderId;

@Embedded
private MISAuditBean misAuditBean;

@OneToMany(targetEntity=BidderDetailBean.class, fetch=FetchType.EAGER)
@JoinColumn(name="bid_info_id", insertable=false, updatable=false)
private Set<BidderDetailBean> bidderDetailBeans;

public long getBidInfoId() {
    return bidInfoId;
}

public void setBidInfoId(long bidInfoId) {
    this.bidInfoId = bidInfoId;
} 

每当您为先前已附加到当前会话的实体调用saveOrUpdate(这意味着会话实体附件)时,都会引发此异常

一种解决方法是,仅当没有附加实体时,才使用附加实体的合并,在这种情况下,它只是将已附加的实体合并到作为参数给定的当前实体

BidderHeaderBean具有不可插入/可更新的子关联:

@OneToMany(targetEntity=BidderDetailBean.class, fetch=FetchType.EAGER)
@JoinColumn(name="bid_info_id", insertable=false, updatable=false)
private Set<BidderDetailBean> bidderDetailBeans;
@OneToMany(targetEntity=BidderDetailBean.class,fetch=FetchType.EAGER)
@JoinColumn(name=“bid\u info\u id”,insertable=false,updateable=false)
私有集bidderDetailBeans;

这不是一个mappedBy或inverse。BidderDetailBean也没有与BidderHeaderBean的关联,因此该关联永远无法工作,因为外键永远不会被插入/更新。

实际上,我使用的是saveOrUpdateAll而不是saveOrUpdate,我也使用了merge,但它给出了org.hibernate.MappingException:Unknown entity:java.util.ArrayList该异常不能用当前映射来解释,因为那里没有ArrayList。
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bank name  ===========State Bank of Patiala
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid amount ===========1452250.0
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidderName ===========7575
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidInfoId ===========3517
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getSeqBidId ===========5268
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] status ===========U
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid sale date ===========2014-06-27 10:04:46.857
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bank name  ===========State Bank of Patiala
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid amount ===========992620.0
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidderName ===========Ven00002
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidInfoId ===========3517
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getSeqBidId ===========5267
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] status ===========D
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid sale date ===========2014-06-27 10:04:46.857
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bank name  ===========State Bank of Patiala
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid amount ===========1452250.0
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidderName ===========7575
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getBidInfoId ===========3517
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] getSeqBidId ===========5268
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] status ===========D
2014-06-27 10:10:08,659 DEBUG [com.prwss.mis.tender.BidderBOImpl] bid sale date ===========2014-06-27 10:04:46.857
2014-06-27 10:10:08,667 ERROR [com.prwss.mis.tender.BidderBOImpl] a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]
org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdateAll(HibernateTemplate.java:757)
    at com.prwss.mis.tender.biddersdetail.dao.BidderDetailDaoImpl.saveOrUpdateBidderDetailBeans(BidderDetailDaoImpl.java:53)
    at com.prwss.mis.tender.BidderBOImpl.updateBidder(BidderBOImpl.java:131)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at $Proxy34.updateBidder(Unknown Source)
    at com.prwss.mis.tender.struts.BiddersDetailAction.update(BiddersDetailAction.java:318)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
    at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:113)
    at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.prwss.mis.tender.biddersdetail.dao.BidderDetailBean#5268]
    at org.hibernate.engine.StatefulPersistenceContext.checkUniqueness(StatefulPersistenceContext.java:638)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:305)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:246)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:112)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
    at org.springframework.orm.hibernate3.HibernateTemplate$18.doInHibernate(HibernateTemplate.java:761)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
    ... 49 more  
@OneToMany(targetEntity=BidderDetailBean.class, fetch=FetchType.EAGER)
@JoinColumn(name="bid_info_id", insertable=false, updatable=false)
private Set<BidderDetailBean> bidderDetailBeans;