就这句hql:update Question q set q.context=?,q.answer1=?,q.answer2=?,q.answer3=?,q.answer4=?,q.answer=? where q.qid=?
public void editQuest(Question quest) {
Session session=null;
Transaction ts=null;
try {
session=HbSessionFactory.getSession();
ts=session.beginTransaction();
Query query=session.createQuery("update Question q set q.context=?,q.answer1=?,q.answer2=?,q.answer3=?,q.answer4=?,q.answer=? where q.qid=?");//----------------------------就是这句
query.setParameter(0, quest.getContext());
query.setParameter(1, quest.getAnswer1());
query.setParameter(2, quest.getAnswer2());
query.setParameter(3, quest.getAnswer3());
query.setParameter(4, quest.getAnswer4());
query.setParameter(5, quest.getAnswer());
query.setParameter(6, quest.getQid());
query.executeUpdate();
ts.commit();
} catch (HibernateException e) {
ts.rollback();
logger.error("...",e);
throw new DaoException("...",e);
}finally{
HbSessionFactory.closeSession();
}
}Junit测试通过,正常。为什么数据库里数据没变???、
public void testEditQuest(){
Question q=new Question(1, "JAVA2222", "A...", "B...", "C...", "D...", 1);
QuestionDao dao=DaoFactory.getQuestionDao();
dao.editQuest(q);
}这个Question 和一个Paper类 做了多对多 关联,是不是因为这个原因啊 ???????