! [여기에 이미지 설명을 입력하십시오] [1] SessionFactory sessionFactory = new Configuration(). configure(). buildSessionFactory(); 세션 세션 = sessionFactory.openSession(); session.beginTransaction(); session.save (학생); 난 당신이 Transaction
개체가 필요합니다 내가이아니요 session.getTransaction 메서드가 없습니다
0
A
답변
1
트랜잭션을 커밋하기 바로 잡기 않는 transaction.how를 저지 할 수 있도록 세션이 getTransaction 메소드를 호출을 시도하는 동안이 오류가
을에 Session.get하는 session.beginTransaction();
에 의해 반환됩니다. 다음과 같이
:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction(); //org.hibernate.Transaction
session.save(student);
tx.commit();
업데이트를
그것은 좋은 방법이 적절한 try-catch
블록을 사용하는 것입니다 : 각 호출에`buildSessionFactory`를 호출
public boolean saveStudent(Student student)
{
Session session=null;
Transaction tx=null;
SessionFactory sessionFactory = null;
try
{
sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.openSession();
tx = session.beginTransaction();
session.save(student);
tx.commit();
return true;
}
catch (Exception e)
{
if(tx!=null && tx.isActive())
{
tx.rollback();//rolebacks the currect active transaction
}
return false;
}
finally
{
if(session!=null && session.isOpen())
{
session.close();
}
if(tx!=null)
{
tx=null;
}
}
}
관련 문제
- 1. 는`session.getTransaction()가() 커밋.`데이터
- 2. 아니요 java.library.path에 usbJava가 없습니다.
- 3. 아니요, 필드를 변경할 수 없습니다.
- 4. 아니요 config.inc.php 파일이 없습니다 + 'MarketplaceWebService_Model_SubmitFeedRequest'클래스가 없습니다.
- 5. Hibernate session.getTransaction(). begin() vs session.beginTransaction()의 차이점
- 6. 아니요 WebApplicationContext를 찾았습니다. 아니요 ContextLoaderListener
- 7. org.hibernate.MappingException : 아니요 JDBC 유형에 대한 Dialect 매핑이 없습니다 : -8
- 8. 객체에는 메서드가 없습니다.
- 9. 개체에 메서드가 없습니다.
- 10. 가상 메서드가 없습니다. startDragAndDrop
- 11. 객체에는 메서드가 없습니다. $ watch
- 12. 개체에 메서드가 없습니다?
- 13. 메서드가 없습니다 : 'MyProject.MvcApplication.RegisterRoutes'
- 14. ArrayList .add 메서드가 없습니다.
- 15. 메서드가 없습니다. HasDatabaseGeneratedOption
- 16. flot에 zoomIn() 메서드가 없습니다
- 17. 메서드가 현재 컨텍스트에 없습니다.
- 18. SqueezeBox.initialize : 개체에 메서드가 없습니다.
- 19. 개체 개체에 메서드가 없습니다.
- 20. BeanCreationException : 공장 메서드가 없습니다.
- 21. 메서드가 없습니다. 'Int32 Microsoft.Data.OData.Query.SemanticAst.QueryNode.get_Kind()'
- 22. 정의가없고 확장 메서드가 없습니다.
- 23. jQuery.fn.extend, MVC3에 메서드가 없습니다
- 24. 메서드가 없습니다. 'DotNetNuke.Entities.Portals.PortalAliasCollection DotNetNuke.Entities.PortalsAliasController.GetPortalAliases()
- 25. 메서드가 없습니다. 'System.Web.Http.Controllers.ServicesContainer
- 26. RKMappingTest에 메서드가 없습니다. (RestKit)
- 27. null 객체에 메서드가 없습니다. [] =
- 28. WCF 서비스에 메서드가 없습니다.
- 29. 개체에 메서드가 없습니다. 정렬
- 30. ServiceStack.Text.JsConfig.With (...) 메서드가 없습니다?
도하지 좋은 연습. 당신은'HibernateHelper'라는 이름의 또 다른 클래스를 만들어서 Hibern 메소드를 호출하여'session'을 얻을 곳을 만들어야합니다. ateHelper.getsession()'이 HibernateHelper는 연결 풀링, 세션 팩토리 생성 등을 할 수있는 코드를 가지고 있습니다. – Amogh
고마워요! 그것은 내 문제를 도와 줬어. – user1654352