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