1

我正在使用 Play Framework 2.0。我有一个类(A),它有 2 个接口(IA 和 IB)。A 类有许多变量,比如 x、y、z。IA 和 IB 有自己的 CRUD 页面,由不同的控制器控制。(IAController 和 IBController),其中 x 是 IA 和 y 的控制器,z 是 IB 控制的。x、y、z 都有一个 @Column(nullable = false) 注释。问题是,当我使用 IBController 更新 y 和 z 时,它会在 x 上导致 ValidationException(我知道这是因为如果我删除 x 上的注释,异常就会消失)。

我只是想知道是否有人遇到过同样的问题。

以下是我的异常跟踪:

play.api.Application$$anon$1: Execution exception[[ValidationException: validation failed for: models.t1d.A]]
at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.0]
at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:132) [play_2.10.jar:2.1.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:128) [play_2.10.jar:2.1.0]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
com.avaje.ebean.ValidationException: validation failed for: models.t1d.Visit
at com.avaje.ebeaninternal.server.core.PersistRequestBean.validate(PersistRequestBean.java:461) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeUpdateBean(DefaultPersistExecute.java:89) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:485) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:511) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.persist.DefaultPersister.update(DefaultPersister.java:417) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.persist.DefaultPersister.forceUpdateStateless(DefaultPersister.java:253) ~[avaje-ebeanorm-server.jar:na]
4

0 回答 0