Hibernate实现many-to-many的映射关系
来源:互联网 发布:淘宝企业店铺登陆 编辑:程序博客网 时间:2024/06/05 17:44
(1)一个最简单的例子就是学生选课的数据表了
(2)Student.java
public class Course {private Integer id;private String name;private Set<StuCourse> stuCourses;//get/set方法}
(3)Student.java
public class Student {private Integer id;private String name;private Set<StuCourse> stuCourses;<span style="font-family: Arial, Helvetica, sans-serif;">//get/set方法</span>}(4)StuCourse.java学生选课表
package com.hsp.domain;public class StuCourse {private Integer id;private Student student;private Course course;private Integer grade;//get/set方法}
(5)Course.hbm.xml文件
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.hsp.domain"><class name="Course"><id name="id" type="java.lang.Integer"><generator class="sequence"><param name="sequence">course_seq</param></generator></id><property name="name" type="java.lang.String"><column name="name" length="64" /></property><!-- 配置one-to-many 表示一门课程可以对应多个选课记录 --><set name="stuCourses"><key column="course_id" /><one-to-many class="StuCourse" /></set></class></hibernate-mapping>
(6)Student.hbm.xml文件
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.hsp.domain"><class name="Student"><id name="id" type="java.lang.Integer"><generator class="sequence"><param name="sequence">stu_seq</param></generator></id><property name="name" type="java.lang.String"><column name="name" length="64" /></property> <!-- 这里我们配置了one-to-many 一个学生可以对应多个选课记录 --><set name="stuCourses"><key column="student_id" /> <!-- 这里的column是外键 --><one-to-many class="StuCourse" /> <!-- many所对应的表 --></set></class></hibernate-mapping>
(7)StuCourse.hbm.xml文件
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.hsp.domain"><class name="StuCourse"><id name="id" type="java.lang.Integer"><generator class="sequence"><param name="sequence">stucourse_seq</param></generator></id><property name="grade" type="java.lang.Integer"><column name="grade" length="3" /></property><many-to-one name="course" column="course_id" /><many-to-one name="student" column="student_id" /></class></hibernate-mapping>
(8)hibernate.cfg.xml文件
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="connection.username">root</property><property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:OracleDB</property><property name="dialect">org.hibernate.dialect.Oracle9Dialect</property><property name="connection.password">root</property><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property><property name="show_sql">true</property><!-- 配置让hibernate自动创建关系模型(表) --><property name="hbm2ddl.auto">update</property><mapping resource="com/hsp/domain/Course.hbm.xml" /><mapping resource="com/hsp/domain/StuCourse.hbm.xml" /><mapping resource="com/hsp/domain/Student.hbm.xml" /></session-factory></hibernate-configuration>
3 0
- Hibernate实现many-to-many的映射关系
- Hibernate one-to-many && many-to-many 的关系映射
- Hibernate 关系映射 many-to-many
- Hibernate 多对多的映射关系(many-to-many)
- many-to-one/one-to-many/many-to-many关系映射 (Hibernate)
- Hibernate one-to-many / many-to-one关系映射
- Hibernate one-to-many / many-to-one关系映射
- hibernate映射many-to-many
- hibernate映射many-to-many
- Hibernate one to many 关联关系映射
- hibernate many-to-one关系映射
- Hibernate基于注解的双向one-to-many映射关系的实现
- Hibernate基于注解的双向one-to-many映射关系的实现
- 码农小汪-Hibernate学习4-关联关系映射many-to-one,many-to-one,one-to-many
- Hibernate Map映射的index-many-to-many案例
- 使用注解的Hibernate many-to-many映射
- <一>重温Hibernate many to many映射
- Hibernate的many-to-many多对多关系
- HttpClient 核心代码
- [寒江孤叶丶的Cocos2d-x之旅_15]Cocos2d-x LUA脚本中对字符串进行Base64加解密/编解码 (LUA Base64 加解密/编解码)
- UBUNTU 14.04解决sublime text 3 中文无法输入的问题
- strtok()函数
- 理解wait和notify
- Hibernate实现many-to-many的映射关系
- 自定义TabBar第一种方案
- 2014.10.10
- [寒江孤叶丶的Cocos2d-x之旅_16]Cocos2d-x LUA脚本中解析Json的方法
- (A减B)并(B减A)
- 开源网站搜集
- GCD并发的执行顺序
- ORACLE自治事物,提交与回滚以及一些查询插入效率问题
- POJ 1584--A Round Peg in a Ground Hole