Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用play framework 2.3x实现hibernate_Java_Spring_Hibernate_Playframework_Playframework 2.0 - Fatal编程技术网

Java 使用play framework 2.3x实现hibernate

Java 使用play framework 2.3x实现hibernate,java,spring,hibernate,playframework,playframework-2.0,Java,Spring,Hibernate,Playframework,Playframework 2.0,我正在使用play framework 2.3x,我用play framework实现了hibernate,但我在控制器类的会话工厂中得到空值。实际上,这个sessionFactory没有得到hibernate-cfg.xml文件。 请查克 我的build.sbt是 libraryDependencies ++= Seq( javaJdbc, javaEbean, cache, javaWs, "mysql" % "mysql-connector-java" % "5.1.

我正在使用play framework 2.3x,我用play framework实现了hibernate,但我在控制器类的会话工厂中得到空值。实际上,这个sessionFactory没有得到hibernate-cfg.xml文件。 请查克

我的build.sbt是

 libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs,
  "mysql" % "mysql-connector-java" % "5.1.18",
  javaJpa.exclude("org.hibernate.javax.persistence", "hibernate-jpa-2.0-api"),
  "org.hibernate" % "hibernate-entitymanager" % "4.3.9.Final",
  "com.google.code.gson" % "gson" % "2.2"
)
我的conf/Hibernate-cfg.xml是

  <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.dialect">
                org.hibernate.dialect.MySQLDialect
            </property>
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost/test</property>
            <property name="connection.username">root</property>
            <property name="connection.password"></property>
            <property name="connection.pool_size">10</property>
            <property name="current_session_context_class">thread</property>
            <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
            <property name="show_sql">true</property>
            <property name="hbm2ddl.auto">validate</property>


        </session-factory>
    </hibernate-configuration>
**My Model class is**
@javax.persistence.Entity
@Table(name = "customer")
public class Customer extends Model {
    public static Finder<Integer, Customer> find = new Finder<Integer, Customer>(
            Integer.class, Customer.class
    );

    @Id
    @Column(name = "cid")
    int cid;
    @Column(name = "name")
    public String name;

    public int getCid() {
        return cid;
    }

    public void setCid(int cid) {
        this.cid = cid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static List<Customer> findAll() {
        return find.all();
    }
}

org.hibernate.dialogue.mysqldialogue
com.mysql.jdbc.Driver
jdbc:mysql://localhost/test
根
10
线
org.hibernate.cache.NoCacheProvider
真的
验证
**我的模范班是**
@javax.persistence.Entity
@表(name=“客户”)
公共类客户扩展模型{
公共静态查找器find=新查找器(
Integer.class,Customer.class
);
@身份证
@列(name=“cid”)
int-cid;
@列(name=“name”)
公共字符串名称;
公共int getCid(){
返回cid;
}
公共无效设置cid(内部cid){
this.cid=cid;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共静态列表findAll(){
返回find.all();
}
}

您应该将JPA配置放在
conf/META-INF/persistence.xml
中。这是JPA的标准位置,Hibernate只是JPA的一个实现。Play在
conf/application.conf
中有几个额外的配置。有一个很好的教程


另一点:您是否在控制器方法中使用
@Transactional
注释?如果没有,您必须明确告诉Play手动使用
JPA.withTransaction
启动事务。

您应该将JPA配置放在
conf/META-INF/persistence.xml
中。这是JPA的标准位置,Hibernate只是JPA的一个实现。Play在
conf/application.conf
中有几个额外的配置。有一个很好的教程

另一点:您是否在控制器方法中使用
@Transactional
注释?如果没有,您必须明确告诉Play手动使用
JPA.withTransaction
启动交易