Hibernate学习的一个问题
在学习Hibernate的集合映射(用List映射),想做成多对多的List集合映射,单向的能做成功,可是双向的老是报错, Field 't_index' doesn't have a default value可是一个它要什么默认值啊?代码如下,请指教
public class Student {
private int id;
private String name;
private Date creDate;
private List<Teacher> teachers;……}public class Teacher {
private int id;
private int age;
private String pro;
private List<Student> students;……}<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.test.vo">
<class name="Teacher" table="t_teacher">
<id name="id">
<generator class="native"/>
</id>
<property name="pro" column="pro"/>
<property name="age" column="age"/>
<list name="students" table="t_teacher_student" cascade="save-update">
<key column="t_id" not-null="true"></key>
<index column="s_index"></index>
<many-to-many class="Student" column="s_id"></many-to-many>
</list>
</class>
</hibernate-mapping><hibernate-mapping package="com.test.vo">
<class name="Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name" column="sname"/>
<property name="creDate" column="credate" type="date"/>
<list name="teachers" table="t_teacher_student" cascade="save-update">
<key column="s_id" not-null="true"></key>
<index column="t_index"></index>
<many-to-many class="Teacher" column="t_id"></many-to-many>
</list>
</class>
</hibernate-mapping>public class TestSave1 extends TestCase {
public void save1(){
Session session=null;
try {
session=HibernateSessionFactory.getSession();
session.beginTransaction();
Student s1=new Student();
s1.setName("s1");
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
try {
s1.setCreDate(sf.parse("1988-08-09"));
} catch (ParseException e) {
e.printStackTrace();
}
Student s2=new Student();
s2.setName("s2");
try {
s2.setCreDate(sf.parse("1988-09-08"));
} catch (ParseException e) {
e.printStackTrace();
}
Teacher t1=new Teacher();
List<Student> list=new ArrayList<Student>();
list.add(s1);
list.add(s2);
t1.setAge(77);
t1.setPro("computer");
t1.setStudents(list);
session.save(t1);
session.getTransaction().commit();
} catch (HibernateException e) {
e.printStackTrace();
} catch(Exception ee){
ee.printStackTrace();
} finally{
HibernateSessionFactory.closeSession();
} }
...全文
相关推荐
黑马49期Hibernate学习
“视频”部分则可能涵盖了理论讲解、实例演示、问题解析等多个方面,通过观看实际操作,学习者能更直观地理解Hibernate如何与数据库交互,如何在项目中应用。
hibernate学习资料
一、Hibernate简介Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。
hibernate学习资料大合集
**5. hibernate笔记.pdf 和 Hibernate学习笔记.pdf**这两份笔记可能由经验丰富的开发者整理,包含他们在学习和使用Hibernate过程中积累的实用技巧和常见问题解决方案。
为什么要学习Hibernate?
【为什么要学习Hibernate】在软件开发领域,尤其是在Java世界中,持久层的实现一直是困扰开发者的一个重要问题。
hibernate框架学习,由浅入深
Hibernate 框架简介Hibernate 是一个开源的对象关系映射(O/R)工具,用于解决 Java 应用程序中的数据访问问题。


