2011-05-16 4 views
1

데이터베이스에 새 개체를 삽입하려고합니다. 나는 단계별 튜토리얼을 따라 갔지만 그것이 나를 위해 작동하지 않는 것 같습니다. 이 자습서에는 다음 줄이 있습니다.최대 절전 모드 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(); 
    
    그래서 여기에 제기 예외없이,하지만 난 테이블에 행이없는 데이터베이스에 액세스 할 때.

    도와주세요. 감사합니다.

+0

save()는 무엇을합니까? – Bozho

+0

아마도 문제가 Banner-class에 있는데, 잘못 주석을 달았을 경우입니다. – Kai

+0

@ user714965 잘, 나는 MyEclipse에서 Hibernate Reverse Engineering을 사용하므로 클래스가 자동으로 생성된다. 그들은 맞지 않니? 나는 배너 클래스를 들여다 보았다. –

답변

1

시도 할 수 있습니다. MyEclipse에서 리버스 엔지니어링을 사용했을 때 나는 BasicDAO 대신 SpringDAO를 만들었습니다. 이제 getSession() 메서드가 제대로 작동합니다.

1

당신은 내가 그것을 알아 냈

Transaction tx = dao.getSessionFactory().openSession().beginTransaction(); 

대신

Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction(); 
+0

나는 시험해 보았다. 같은 것. –

+0

SQL 쿼리가 실행되었음을 표시 할 수 있습니까? – RAS

+0

무엇을 의미합니까? 나는 어떤 질문도 쓰지 않았다. –