我在Play 2中使用JPA。在Build.scala中,我具有以下内容:
object ApplicationBuild extends Build {
val appName = "weasel"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
javaCore,
javaJdbc,
javaJpa,
"org.hibernate" % "hibernate-entitymanager" % "4.1.7.Final"
)
val main = play.Project(appName, appVersion, appDependencies).settings(
ebeanEnabled := false
)
}
一个非常简单的模型:
import javax.persistence.*;
@Entity
@Table(name = "event")
public class Event {
@Id
@Column(name = "EVENT_NO")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@Column(name = "EVENT_OUTPUT_LOG", length = 250)
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
标准application.conf配置:
db.default.jndiName=DefaultDS
jpa.default=defaultPersistenceUnit
db.default.logStatements=true
# ebean.default="models.*"
evolutionplugin=disabled
执行标准选择
SELECT e FROM Event e
时,我看到它正在执行以下查询:select event0_.EVENT_NO as EVENT1_4_,
event0_._ebean_intercept as column2_4_,
event0_.EVENT_OUTPUT_LOG as EVENT3_4_
from EVENT event0_
为什么这样做呢?我已经告诉过不要使用ebeans。我也做了一个干净的编译...但是它没有改变任何东西。
先感谢您。
最佳答案
从Build.sbt中删除javaEbean
依赖关系似乎可以解决此问题。我不知道为什么当ebeanEnabled设置为false时,播放首先要使用ebean。