1
使用內存數據庫(db = mem),我只是試圖插入一個新的對象到數據庫使用CRUD。從一個簡單的類的簡單CRUD的PersistenceException
類如下:
@Entity
public class ActivityModel extends Model {
@Required
public String description;
@Required
public String link;
@Required
public Date timestamp;
public ActivityModel(String description, String link, Date timestamp) {
this.description = description;
this.link = link;
this.timestamp = timestamp;
}
}
而且CRUD控制器看起來是這樣的:
@CRUD.For(ActivityModel.class)
public class Activities extends CRUD {
}
然而,當我嘗試新的活動添加到數據庫中,我得到以下錯誤:
13:48:20,710 INFO ~ Application 'ScoreDB' is now started !
13:48:48,323 WARN ~ SQL Error: -177, SQLState: 23000
13:48:48,323 ERROR ~ Integrity constraint violation - no parent FKF0DCD93AADF686FF table: USERMODEL in statement [insert into ActivityModel (id, description, link, timestamp) values (null, ?, ?, ?)]
13:48:48,370 ERROR ~
@65pagp52g
Internal Server Error (500) for request POST /admin/activities
Execution exception (In {module:crud}/app/controllers/CRUD.java around line 135)
PersistenceException occured : org.hibernate.exception.ConstraintViolationException: could not insert: [models.users.hidden.ActivityModel]
play.exceptions.JavaExecutionException: org.hibernate.exception.ConstraintViolationException: could not insert: [models.users.hidden.ActivityModel]
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:290)
at Invocation.HTTP Request(Play!)
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not insert: [models.users.hidden.ActivityModel]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1235)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1174)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:674)
at play.db.jpa.JPABase._save(JPABase.java:37)
at controllers.CRUD.create(CRUD.java:135)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:413)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:408)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:182)
... 1 more
... etc ...
我在做什麼錯? :S
該錯誤與您顯示的代碼不匹配。你確定這是正在執行的類嗎? – 2011-03-28 10:22:41