Return-Path: Delivered-To: apmail-openjpa-users-archive@locus.apache.org Received: (qmail 73804 invoked from network); 21 Nov 2008 06:52:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 21 Nov 2008 06:52:02 -0000 Received: (qmail 90307 invoked by uid 500); 21 Nov 2008 06:52:11 -0000 Delivered-To: apmail-openjpa-users-archive@openjpa.apache.org Received: (qmail 90100 invoked by uid 500); 21 Nov 2008 06:52:10 -0000 Mailing-List: contact users-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@openjpa.apache.org Delivered-To: mailing list users@openjpa.apache.org Received: (qmail 90089 invoked by uid 99); 21 Nov 2008 06:52:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Nov 2008 22:52:10 -0800 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists+1214986160035-208411@n2.nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Nov 2008 06:50:46 +0000 Received: from tervel.nabble.com ([192.168.236.150]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1L3PrW-0004Pz-4m for users@openjpa.apache.org; Thu, 20 Nov 2008 22:51:30 -0800 Message-ID: <1227250290142-1560668.post@n2.nabble.com> Date: Thu, 20 Nov 2008 22:51:30 -0800 (PST) From: champnilesh To: users@openjpa.apache.org Subject: open jpa problem. MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: nilesh_patel@infosys.com X-Virus-Checked: Checked by ClamAV on apache.org Dear all, i am facing this problem while trying to insert and retrieve at the same time from one table simultaneously. this is the error i am getting openjpa.Query - Thi s query on type "class com.symcor.pcbi.dal.ejb3.entity.fraudlink.bns.VCSData" mu st load the entire candidate class extent and evaluate the query in-memory. Thi s may be very slow. The query must be executed in memory because OpenJPA is con figured with IgnoreCache=false and FlushBeforeQueries=false and there are dirty instances that may affect the query's outcome in the cache. 11:02:30,655 ERROR [OpenEJB] The bean instances business method encountered a sy stem exception: Cannot manipulate identity of type "com.ejb3.ent ity.VCSDataPK": it's identity type is unknown. <1.0.0-r561970-r561970 nonfatal user error> org.apache.openjpa.persistence.Argum entException: Cannot manipulate identity of type "com.ejb3.entit y.VCSDataPK": it's identity type is unknown. my Entity Class is VCSData and VcsdataPk is the composite primary key. here is the entity class VCsData */ @Entity(name = "vcsdata") @Table(name = "VCSDATA") @NamedQueries({ @NamedQuery(name = "vcsdata.getAllRecords", query = "SELECT a FROM vcsdata a") }) public class VCSData implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId //private VCSDataPK primaryKey = null; private VCSDataPK primaryKey; /** * A constant from Java Constants file. */ @Column(name = "PRODUCTID") private double productId; /** * Query VCSTRANSACTIONINFO table based on SourceId. SourceId is a constant from java Constants file. A constant referenced from table VCSTRANSACTIONINFO.VCSTRANSACTIONID */ @Column(name = "TRANSACTIONID") private double transactionId; /** * Query VCSTRANSACTIONINFO table based on SourceId. SourceId is a constant from java Constants file. A constant referenced from table VCSTRANSACTIONINFO.BILLING_CATEGORY */ @Column(name = "BILLING_CATEGORY") private double billing_category; /** * A constant from Java Constants file. */ @Column(name = "SOURCEID") private double sourceId; /** * A constant from Java Constants file. */ @Column(name = "UOM") private double uom; /** * Total count of records in the I/P file (bulk file or FL I/p file). Calculated at run time. */ @Column(name = "BILLINGTOTAL") private double billingTotal; /** * blank */ @Column(name = "ADDITIONALINFO1") private String additionalinfo1; /** * blank */ @Column(name = "ADDITIONALINFO2") private String additionalinfo2; /** * blank */ @Column(name = "ADDITIONALINFO3") private String additionalinfo3; /** * @return the processingDate */ public VCSDataPK getPrimaryKey() { return this.primaryKey; } public void setPrimaryKey(VCSDataPK pk) { this.primaryKey = pk; } /** * @return the productId */ public double getProductId() { return productId; } /** * @param productId the productId to set */ public void setProductId(double productId) { this.productId = productId; } /** * @return the transactionId */ public double getTransactionId() { return transactionId; } /** * @param transactionId the transactionId to set */ public void setTransactionId(double transactionId) { this.transactionId = transactionId; } /** * @return the billing_category */ public double getBilling_category() { return billing_category; } /** * @param billing_category the billing_category to set */ public void setBilling_category(double billing_category) { this.billing_category = billing_category; } /** * @return the sourceId */ public double getSourceId() { return sourceId; } /** * @param sourceId the sourceId to set */ public void setSourceId(double sourceId) { this.sourceId = sourceId; } /** * @return the uom */ public double getUom() { return uom; } /** * @param uom the uom to set */ public void setUom(double uom) { this.uom = uom; } /** * @return the billingTotal */ public double getBillingTotal() { return billingTotal; } /** * @param billingTotal the billingTotal to set */ public void setBillingTotal(double billingTotal) { this.billingTotal = billingTotal; } /** * @return the additionalinfo1 */ public String getAdditionalinfo1() { return additionalinfo1; } /** * @param additionalinfo1 the additionalinfo1 to set */ public void setAdditionalinfo1(String additionalinfo1) { this.additionalinfo1 = additionalinfo1; } /** * @return the additionalinfo2 */ public String getAdditionalinfo2() { return additionalinfo2; } /** * @param additionalinfo2 the additionalinfo2 to set */ public void setAdditionalinfo2(String additionalinfo2) { this.additionalinfo2 = additionalinfo2; } /** * @return the additionalinfo3 */ public String getAdditionalinfo3() { return additionalinfo3; } /** * @param additionalinfo3 the additionalinfo3 to set */ public void setAdditionalinfo3(String additionalinfo3) { this.additionalinfo3 = additionalinfo3; } /** * Default Constructor */ public VCSData() { // TODO Auto-generated constructor stub } /** * Parameterised constructor. * * @param to * Transfer object. */ public VCSData(Object to) { VCSDataData data = (VCSDataData) to; VCSDataPK vcsDataPK = new VCSDataPK(); System.out.println("***** START : VCSData(Object) *******" + data.getProcessingDate()); vcsDataPK.setProcessingDate(data.getProcessingDate()); vcsDataPK.setClientID(data.getClientID()); vcsDataPK.setInterfaceId(data.getInterfaceId()); vcsDataPK.setSiteId(data.getSiteId()); this.setPrimaryKey(vcsDataPK); System.out.println("***** START : VCSData(Object) *******" + data.getProcessingDate()); System.out.println("***** 111 : VCSData(Object) *******" ); //getPrimaryKey().setClientID(data.getClientID()); System.out.println("***** 222 : VCSData(Object) *******" ); //getPrimaryKey().setInterfaceId(data.getInterfaceId()); System.out.println("***** 333 : VCSData(Object) *******" ); //getPrimaryKey().setSiteId(data.getSiteId()); System.out.println("***** MIDDLE : VCSData(Object) *******" ); setProductId(data.getProductId()); setTransactionId(data.getTransactionId()); setBilling_category(data.getBilling_category()); setSourceId(data.getSourceId()); setUom(data.getUom()); setBillingTotal(data.getBillingTotal() ); setAdditionalinfo1(data.getAdditionalinfo1()); setAdditionalinfo2(data.getAdditionalinfo2()); setAdditionalinfo3(data.getAdditionalinfo3()); System.out.println("***** END : VCSData(Object) *******" + getPrimaryKey()); } /** * Is entity the same as this entity? * * @param entity: * the entity being compared * @return: true if entity being compared is the same as this entity */ public boolean sameEntity(Object entity) { return (entity != null && (entity instanceof VCSData || entity instanceof VCSDataData)); } /** * Converts a collection of JPA (VCSData) objects to a collection of * corresponding TO objects (VCSDataData). * * @param jpa * a collection of JPA objects * @return a collection of corresponding TO objects */ @SuppressWarnings("unchecked") public final Collection converter(Collection jpa) { Collection result = new ArrayList(); Iterator it = jpa.iterator(); System.out.println("START : converter() **** "); while (it.hasNext()) { VCSData objset = (VCSData) it.next(); VCSDataData data = new VCSDataData(); data.setProductId(objset.getProductId()); data.setTransactionId(objset.getTransactionId()); data.setBilling_category(objset.getBilling_category()); data.setSourceId(objset.getSourceId()); data.setUom(objset.getUom()); data.setBillingTotal(objset.getBillingTotal() ); data.setAdditionalinfo1(objset.getAdditionalinfo1()); data.setAdditionalinfo2(objset.getAdditionalinfo2()); data.setAdditionalinfo3(objset.getAdditionalinfo3()); data.setProcessingDate(objset.getPrimaryKey().getProcessingDate()); data.setClientID(objset.getPrimaryKey().getClientID()); data.setInterfaceId(objset.getPrimaryKey().getInterfaceId()); data.setSiteId(objset.getPrimaryKey().getSiteId()); result.add(data); } return result; } } here is the primary key class @Embeddable public class VCSDataPK implements Serializable { /** * Composit key columns. */ private static final long serialVersionUID = 1L; @Column(name="PROCESSINGDATE") @Basic @Temporal(TemporalType.DATE) private Date processingDate; @Column(name="CLIENTID") private Short clientID; @Column(name="INTERFACEID") private double interfaceId; @Column(name="SITEID") private String siteId ; /** default constructor */ public VCSDataPK() { } public Date getProcessingDate() { System.out.println("***** VCSDataPK : Date getProcessingDate() ***************"); return processingDate; } public void setProcessingDate(Date processingDate) { this.processingDate = processingDate; } public Short getClientID() { return clientID; } public void setClientID(Short clientID) { this.clientID = clientID; } public double getInterfaceId() { return interfaceId; } public void setInterfaceId(double interfaceId) { this.interfaceId = interfaceId; } public String getSiteId() { return siteId; } public void setSiteId(String siteId) { this.siteId = siteId; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((clientID == null) ? 0 : clientID.hashCode()); long temp; temp = Double.doubleToLongBits(interfaceId); result = prime * result + (int) (temp ^ (temp >>> 32)); result = prime * result + ((processingDate == null) ? 0 : processingDate.hashCode()); result = prime * result + ((siteId == null) ? 0 : siteId.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof VCSDataPK)) return false; final VCSDataPK other = (VCSDataPK) obj; if (clientID == null) { if (other.clientID != null) return false; } else if (!clientID.equals(other.clientID)) return false; if (Double.doubleToLongBits(interfaceId) != Double .doubleToLongBits(other.interfaceId)) return false; if (processingDate == null) { if (other.processingDate != null) return false; } else if (!processingDate.equals(other.processingDate)) return false; if (siteId == null) { if (other.siteId != null) return false; } else if (!siteId.equals(other.siteId)) return false; return true; } } this method i use for insertion this.insertVCSData(); this is the method for retrieval vcsDataData1 = this.getVCSData(Dbdate); for retrieving i am using the named query specified in the entity class please help -- View this message in context: http://n2.nabble.com/open-jpa-problem.-tp1560668p1560668.html Sent from the OpenJPA Users mailing list archive at Nabble.com.