控制台正确输出sql,但是数据库没有数据
单元测试片段(单元测试正确)
SessionFactory sessionFactory = SessionFactoryUtil.getSessionFactory();
Session session = sessionFactory.openSession();
try{
session.beginTransaction();
session.save(grade);
session.save(lesson);
session.save(lesson2);
session.save(lesson3);
session.save(student2);
session.save(detail);
System.out.println(student2.getDetail().getEducation());
System.out.println(student2.getSname()+student2.getGrade().getGname());
session.getTransaction().commit();
}catch (Exception e) {
session.getTransaction().rollback();
}finally {
session.close();
}
控制台打印的sql和信息
测试的学生信息可以正常打印
Hibernate: insert into grade (gname, gid) values (?, ?)
Hibernate: insert into lesson (lname, ldes, lid) values (?, ?, ?)
Hibernate: insert into lesson (lname, ldes, lid) values (?, ?, ?)
Hibernate: insert into lesson (lname, ldes, lid) values (?, ?, ?)
Hibernate: insert into student (sname, birthday, gid, sid) values (?, ?, ?, ?)
映射文件
<class name="Student" table="student">
<id name="sid" column="sid" type="string">
<generator class="uuid"/>
</id>
<property name="sname" column="sname" type="string"/>
<property name="birthday" column="birthday" type="date"/>
<property name="age" update="false" insert="false" formula="round(DATEDIFF(curdate(),birthday)/365)"/>
<many-to-one name="grade" class="Grade" column="gid" cascade="save-update"/>
<one-to-one name="detail" class="StudentDetail"/>
<set name="lessons" table="stu_les_detial">
<key column="sid"/>
<many-to-many class="Lesson" column="lid"/>
</set>
</class>
数据库始终没有数据,为什么?????????????