Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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 事务正在hibernate 4.3.6中启动_Java_Hibernate - Fatal编程技术网

Java 事务正在hibernate 4.3.6中启动

Java 事务正在hibernate 4.3.6中启动,java,hibernate,Java,Hibernate,我不熟悉hibernate框架。我正在使用Hibernate4.3.6。我的模范班是 public class UserDetails{ @Id private int userId; private String Name; public int getUserId() { return userId; } public void setUserId(int userId) { this.userI

我不熟悉hibernate框架。我正在使用Hibernate4.3.6。我的模范班是

public class UserDetails{

     @Id
     private int userId;
     private String Name;

     public int getUserId() {
         return userId;
     }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public String getName() {
         return Name;
    }
    public void setName(String name) {
        Name = name;
    }   
}
下面是我的hibernate配置

但我总是得到以下错误。请说明我做错了什么

Sep 04, 2014 9:32:11 AM org.hibernate.tool.hbm2ddl.TableMetadata <init>
INFO: HHH000126: Indexes: [primary]
Sep 04, 2014 9:32:11 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: HHH000232: Schema update complete
 Exception in thread "main" org.hibernate.TransactionException: Transaction not successfully started
at
org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:172)
 at org.ghac.uday.example.HibernateTest.main(HibernateTest.java:28)
2014年9月4日上午9:32:11 org.hibernate.tool.hbm2ddl.TableMetadata
信息:HH000126:索引:[主要]
2014年9月4日上午9:32:11 org.hibernate.tool.hbm2ddl.SchemaUpdate执行
信息:HH000232:架构更新完成
线程“main”org.hibernate.TransactionException中出现异常:事务未成功启动
在
org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:172)
位于org.ghac.uday.example.HibernateTest.main(HibernateTest.java:28)

您忘记开始交易:

Transaction tx = session.getTransaction();
tx.begin(); // Add this line

您忘记开始hibernate事务。试试这个:

Session session = SessionFactory.openSession();
Transaction trans = session.beginTransaction();

顺便说一句,我建议您不要像这样在标记会话工厂中编写所有hibernate配置文件。在一个单独的文件中编写hibernate概要文件,包括:方言、show_sql甚至hbm2dll:例如hibernate.properties。这是一个专业的愿景!祝你好运

谢谢柴坦尼亚。添加这一行解决了我的问题problem@UdayKiran,如果它有效,那么您可以接受这一答案。
Transaction tx = session.getTransaction();
tx.begin(); // Add this line
Session session = SessionFactory.openSession();
Transaction trans = session.beginTransaction();