[jboss-user] [JBoss Seam] - Inserting multiple records using Home Entity

terryb do-not-reply at jboss.com
Wed Sep 26 03:54:47 EDT 2007


Is it possible to insert more than one record in to database using the EntityHome object? I get following error, and not sure how to go around it.

javax.persistence.PersistenceException: org.hibernate.HibernateException: identifier of an instance of au.edu.tisc.entity.OrgUserActivityLog was altered from 10001 to 10002
	at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
	at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:299)

In my example, I am trying to insert user activity records in to the table during the authentication process called from Authenticator.authenticate. If I insert only one record it works ok; but if I try to insert another I get error on .persist() call.

@Name("authenticator")
public class Authenticator {

	public boolean authenticate() {
	
	@In(value = "activityLogger", required = false, create = true)
	private ActivityLogger activityLog;

	...
	...	validate user details ...
	...
	activityLog.log(...); <--insert first record - works ok
	...
	...
	activityLog.log(...); <--try to insert another - causes error
	...
	}
}


@Name("activityLogger")
public class ActivityLogger {
	
	public void log(OrgUser orgUser, String action) {

			OrgUserActivityLogHome orgUserActivityLogHome = (OrgUserActivityLogHome) Component.getInstance(OrgUserActivityLogHome.class, true);

			OrgUserActivityLog orgUserActivityLog = orgUserActivityLogHome.getInstance();
			orgUserActivityLog.setId(KeyGenerator.getKey());
			orgUserActivityLog.setAction(action);
			orgUserActivityLog.setOrganisationUser(orgUser);
			orgUserActivityLogHome.persist();   <-- Above error thrown here on 2nd insert.
	}
}

I am not sure why, error occurs on 2nd call; since first record insert had already called .persist() on the Entity Home object.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4088693#4088693

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4088693



More information about the jboss-user mailing list