Search...
FAQs
Subscribe
Pie
FAQs
Recent topics
Flagged topics
Hot topics
Best topics
Search...
Search within Object Relational Mapping
Search Coderanch
Advance search
Google search
Register / Login
Post Reply
Bookmark Topic
Watch Topic
New Topic
programming forums
Java
Mobile
Certification
Databases
Caching
Books
Engineering
Micro Controllers
OS
Languages
Paradigms
IDEs
Build Tools
Frameworks
Application Servers
Open Source
This Site
Careers
Other
Pie Elite
all forums
this forum made possible by our volunteer staff, including ...
Marshals:
Campbell Ritchie
Jeanne Boyarsky
Ron McLeod
Paul Clapham
Liutauras Vilda
Sheriffs:
paul wheaton
Rob Spoor
Devaka Cooray
Saloon Keepers:
Stephan van Hulst
Tim Holloway
Carey Brown
Frits Walraven
Tim Moores
Bartenders:
Mikalai Zaikin
Forum:
Object Relational Mapping
detached entity passed to persist
Ranendra Kumar
Greenhorn
Posts: 5
posted 11 years ago
Number of slices to send:
Optional 'thank-you' note:
Send
I am getting following errors please help
javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.jlcindia.hibernate.Student at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:219) at com.jlcindia.hibernate.JLab22Client.main(JLab22Client.java:17) Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: com.jlcindia.hibernate.Student at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38) at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:213) ... 1 more
JPA code is:
package com.jlcindia.hibernate; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; public class JLab22Client { public static void main(String[] args) { EntityTransaction tx=null; try{ EntityManagerFactory factory =JPAUtil.getEntityManagerFactory(); EntityManager manager=factory.createEntityManager(); tx=manager.getTransaction(); tx.begin(); Student stud=new Student(1,"sri","sri@jlc","9999"); manager.persist(stud); Address add=new Address(0,"hmt","blore","ka"); manager.persist(add); stud.setAddress(add); tx.commit(); manager.close(); }catch(Exception e) { e.printStackTrace(); if(tx!=null) tx.rollback(); } } }
persistence classes are:
Address.java
package com.jlcindia.hibernate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.Proxy; @Entity @Table(name="address") @Proxy(lazy=false) public class Address { public Address(){} public Address(int adid, String street, String city, String state) { super(); this.adid = adid; this.street = street; this.city = city; this.state = state; } @Id @Column(name="adid") private int adid; @Column(name="street") private String street; @Column(name="city") private String city; @Column(name="state") private String state; public int getAdid() { return adid; } public void setAdid(int adid) { this.adid = adid; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } }
and Student.java
package com.jlcindia.hibernate; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.Proxy; @Entity @Table(name="students") @Proxy(lazy=false) public class Student { public Student(){} public Student(int sid, String sname, String email, String phone) { super(); this.sid = sid; this.sname = sname; this.email = email; this.phone = phone; } public Student(int sid, String sname, String email, String phone, Address address) { super(); this.sid = sid; this.sname = sname; this.email = email; this.phone = phone; this.address = address; } @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="sid") private int sid; @Column(name="sname") private String sname; @Column(name="email") private String email; @Column(name="phone") private String phone; @OneToOne @JoinColumn(name="adid") Address address; public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } }
I'm not sure if I approve of this interruption. But this tiny ad checks out:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
reply
Bookmark Topic
Watch Topic
New Topic
Boost this thread!
Similar Threads
packages --- Not allowing me to access public class from the same package...
Could not read mappings from resource(Mapping issue)
accessing one class from other
list error
Problem retrieving data from relational databse using persistence
More...