我在 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。我也做了一个干净的编译......但它没有改变任何东西。
先感谢您。