Ich versuche, eine Person pojo zu mysql einfügen db mit Hibernate EntityManager Methode bestehen,Hibernate Ausnahme: frei stehende Einheit übergeben beharren
entityManagerTransactionService.getEntityManager().persist(TemplateObject);
und diese Ausnahme erhalten,
javax.persistence.PersistenceException:
org.hibernate.PersistentObjectException: detached entity passed to
persist: com.esupu.base.model.pojo.common.TitleType at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)....
und dort mehr ist ..
Caused by: org.hibernate.PersistentObjectException: detached entity
passed to persist: com.esupu.base.model.pojo.common.TitleType at
org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:141)
at
org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:843)
Meine Person.java Klasse ist,
@Entity
public class Person extends TemplateObject {
@OneToOne(cascade = { CascadeType.MERGE, CascadeType.PERSIST,CascadeType.REFRESH })
private TitleType titleType;
private String middle;
private String last;
@OneToOne(cascade = { CascadeType.ALL })
private Address address;
private Date birthdate;
private String email;
private String telephone;
private String fax;
@OneToOne(cascade = { CascadeType.ALL })
private Location location;
@OneToOne(cascade = { CascadeType.ALL })
private Country country;
und dann die Getter Setter-Methoden des pojo ..
der Fehler TitleType Klasse zu werfen ist ein "public static final" title Typ-Definition-Anbieter,
@Entity
public class TitleType extends TemplateObject {
/**
*
*/
private static final long serialVersionUID = 3104954552111621034L;
private TitleType(int id, String name) {
setId(id);
setName(name);
}
public static final TitleType MR = new TitleType(1, "Mr");
public static final TitleType MISS = new TitleType(2, "Miss");
public static final TitleType MRS = new TitleType(3, "Mrs");
public static final TitleType MS = new TitleType(4, "Ms");
public static final TitleType DOCTOR = new TitleType(5, "Doctor");
public static final TitleType PROFESSOR = new TitleType(6, "Professor");
public static final TitleType SIR = new TitleType(7, "Sir");
public static final TitleType MADAM = new TitleType(8, "Madam");
}
Ich gründe die title type Klasse für die Person als,
ist es unmöglich, eine öffentliche statische final type definierte Klasse an Hibernate zu übergeben? oder gibt es irgendetwas, was ich falsch mache?
Vielen Dank im Voraus
zeigen uns, Code, um das Objekt zu bestehen. Es scheint, dass Sie versuchen, ein losgelöstes Objekt zu bestehen – Shamse