org.hibernate.HibernateException: get is not valid without active transaction

心不动则不痛 提交于 2019-12-04 02:41:39

Add

Transaction tx = session.beginTransaction(); //This statement will initiate the transaction

just before your CallInfo ci = (CallInfo) session.get(CallInfo.class, ucid);

and at the end of your transaction commit the changes by calling..

tx.commit();

Another solution is to use openSession() instead of getCurrentSession(). Then transactions can be used only when required for updating queries.

Session session = HibernateUtil.getSessionFactory().openSession();
CallInfo ci = (CallInfo) session.get(CallInfo.class, ucid);
prasad

Even after beginTransaction() and and commit() if you still get the

Caused by: org.hibernate.HibernateException: setDefaultReadOnly is not valid without active transaction
    at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352) 

go to "Start" and search for services and restart the database service

Before you actually start the transaction you need to start the session by calling session.beginTransaction(), right after you create sessionFactory.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!