데이터베이스에 새 개체를 삽입하려고합니다. 나는 단계별 튜토리얼을 따라 갔지만 그것이 나를 위해 작동하지 않는 것 같습니다. 이 자습서에는 다음 줄이 있습니다.최대 절전 모드 DAO가 MyEclipse 데이터베이스에 행을 삽입하지 않습니다.
트랜잭션 tx = dao.GetSession(). beginTransaction();
GetSession이 팝업되지 않습니다. "GetSession()이 DaoHibernateSupport에서 보이지 않습니다"라는 오류 메시지가 나타납니다. 나는 다음과 라인 교체 :
Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction();
을하지만 그때 나는 currentSession에 널 예외를 얻었다.
온라인으로 읽고 current_session_context property
을 추가했으며 "thread
"으로 설정했습니다.
모든 것이 작동하는 것처럼 보입니다. 예외가 발생하지는 않지만 여전히 MySql 데이터베이스에 삽입 된 행이 없습니다. 이 테이블은 InnoDB이다.
여기 내 마지막 코드 :
-
그래서 여기에 제기 예외없이,하지만 난 테이블에 행이없는 데이터베이스에 액세스 할 때.Banner banner = new Banner(); banner.setUrl(url); banner.setCategorie(categorie); banner.setCuvinteCheie(cuvinte_cheie); banner.setMaxCpc(cpc); banner.setPath(cale); banner.setPaththumb(caleThumb); banner.setAdvertiserId(Integer.parseInt(session.getAttribute("UserID").toString())); BannerDAO dao = new BannerDAO(); SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); dao.setSessionFactory(sessionFactory); Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction(); dao.save(banner); tx.commit(); dao.getSessionFactory().getCurrentSession().close();
도와주세요. 감사합니다.
save()는 무엇을합니까? – Bozho
아마도 문제가 Banner-class에 있는데, 잘못 주석을 달았을 경우입니다. – Kai
@ user714965 잘, 나는 MyEclipse에서 Hibernate Reverse Engineering을 사용하므로 클래스가 자동으로 생성된다. 그들은 맞지 않니? 나는 배너 클래스를 들여다 보았다. –