Hi folks! I'm using last Hibernate and HibernateSync (eclipse plugin) last stable releases and Eclipse 2.1 last stable release.
To try hibernate, a created a simple Email table on database with two primary key attributes: Email and Username.
Then i got correct access to data base using Hibernate features with the following code:
...
_RootDAO.initialize();
EmailDAO dao = new EmailDAO();
Email email = new Email();
email.setEmailEmail("teste");
email.setUserUsername("rocha");
...
After that I tried to change the email set parameters by using variables like user and email. So, the code looked like this:
...
_RootDAO.initialize();
EmailDAO dao = new EmailDAO();
Email email = new Email();
email.setEmailEmail(email);
email.setUserUsername(user);
...
Then, when I executed this code, I got the following exception error:
exception
javax.servlet.ServletException: identifier of an instance of socManager.hibernate.Email altered from socManager.hibernate.Email@18ef117 to socManager.hibernate.Email@18ef117
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
root cause
net.sf.hibernate.HibernateException: identifier of an instance of socManager.hibernate.Email altered from socManager.hibernate.Email@18ef117 to socManager.hibernate.Email@18ef117
net.sf.hibernate.impl.SessionImpl.checkId(SessionImpl.java:2631)
net.sf.hibernate.impl.SessionImpl.flushEntity(SessionImpl.java:2454)
net.sf.hibernate.impl.SessionImpl.flushEntities(SessionImpl.java:2447)
net.sf.hibernate.impl.SessionImpl.flushEverything(SessionImpl.java:2249)
net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2228)
net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
socManager.hibernate.vo._BaseRootDAO.commitTransaction(_BaseRootDAO.java:151)
socManager.hibernate.vo._BaseRootDAO.save(_BaseRootDAO.java:541)
socManager.hibernate.vo.BaseEmailDAO.save(BaseEmailDAO.java:50)
socManager.action.RegisterAction.execute(RegisterAction.java:76)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
Thanks for the help!
JRocha
|