【发布时间】:2014-02-20 14:55:43
【问题描述】:
请帮助设置模型类,因为我收到错误消息:
[PersistenceException: org.hibernate.PersistentObjectException: 分离的实体传递给持久化:models.IncidentType_Diagnosis]
当我尝试持久化模型类时出现错误:MedicalIncident.java 其中包含模型类 IncidentType_Diagnosis
package models;
@Entity
public class MedicalIncident {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public int id;
@ManyToOne(cascade = CascadeType.MERGE)
@Required
public Customer customer;
@ManyToOne(cascade = CascadeType.MERGE)
@Required
public Place place;
@ManyToOne(cascade = CascadeType.MERGE)
@Required
public IncidentType incidentType;
@ManyToOne(cascade = CascadeType.ALL)
public IncidentType_Diagnosis incidentType_Diagnosis;
@ManyToOne(cascade = CascadeType.ALL)
public IncidentType_Infection incidentType_Infection;
@ManyToOne(cascade = CascadeType.ALL)
@Required
public IncidentType_MedicineApplication incidentType_MedicineApplication;
/**
* Insert this new incident submission.
*/
public void toDataBase() {
// persist object - add to entity manager
JPA.em().persist(this);
}
}
以及 IncidentType_Diagnosis 的下一个模型类:
package models;
@Entity
public class IncidentType_Diagnosis {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public Long id;
public String name;
}
我的控制器:
public class MedicalIncidents extends Controller {
/**
* Handle the form submission.
*/
@Transactional
public static Result submit() {
if(filled_form.hasErrors()) {
return badRequest(form.render(filled_form, display));
} else {
filled_form.get().toDataBase(); // calling in model method
return redirect(routes.Index.index());
}
}
}
也是我与医疗事故模型类相关的模型类之一
package models;
@Entity
public class IncidentType_Diagnosis {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public Long id;
public String name;
public static List<IncidentType_Diagnosis> getList() {
List<IncidentType_Diagnosis> allIncidentType_Diagnosiss = (List<IncidentType_Diagnosis>) JPA.em()
.createNativeQuery("SELECT * FROM IncidentType_Diagnosis", IncidentType_Diagnosis.class)
.getResultList();
return allIncidentType_Diagnosiss;
}
}
【问题讨论】:
-
显示你实际保存对象的代码
-
在
package models -> @Entity public class MedicalIncident -> public void toDataBase()
标签: hibernate jpa playframework-2.2