openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From champnilesh <nilesh_pa...@infosys.com>
Subject open jpa problem.
Date Fri, 21 Nov 2008 06:51:30 GMT

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.


Mime
View raw message