Java 事务正在hibernate 4.3.6中启动
我不熟悉hibernate框架。我正在使用Hibernate4.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
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();