java鬼混笔记:Hibernate:4、多对一
来源:互联网 发布:耐高温密封条 淘宝 编辑:程序博客网 时间:2024/06/03 19:14
这次笔记的知识点是hibernate的多对一操作。常见的如 多个学生对一个教室,多对一 ,简简单单,直接上代码了
Classroom.java
package com.ywj.TestHibernate.e;import java.io.Serializable;public class Classroom implements Serializable {/** * */private static final long serialVersionUID = 5730317497296467931L;private Long id;private String name;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
Classroom.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.ywj.TestHibernate.e"><class name="Classroom" table="classroom"><!-- 生成对象唯一的标示符 --><id name="id" column="id" type="java.lang.Long"><generator class="identity" /></id><!-- 普通写法 --><property name="name" /></class></hibernate-mapping>
Student.java
package com.ywj.TestHibernate.e;import java.io.Serializable;public class Student implements Serializable {private static final long serialVersionUID = 9053757358736102041L;private Long id;private String name;private Classroom classroom;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Classroom getClassroom() {return classroom;}public void setClassroom(Classroom classroom) {this.classroom = classroom;}}
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.ywj.TestHibernate.e"><class name="Student" table="student"><!-- 生成对象唯一的标示符 --><id name="id" column="id" type="java.lang.Long"><generator class="identity" /></id><!-- 普通写法 --><property name="name" /><!-- 生成一个外键classroom,对应classroom表的id --><many-to-one name="classroom" column="classroom" class="Classroom" not-null="true"></many-to-one></class></hibernate-mapping>
Test.java
package com.ywj.TestHibernate.test;import org.hibernate.Session;import org.hibernate.Transaction;import com.ywj.TestHibernate.e.Classroom;import com.ywj.TestHibernate.e.Student;public class Test {public static void main(String[] args) {Session s = HibernateUtils.getCurrentSession();Transaction t = null;try {t = s.beginTransaction();// 添加/*Classroom classroom = new Classroom();classroom.setName("classroom");Student st1 = new Student();st1.setName("stu1");st1.setClassroom(classroom);Student st2 = new Student();st2.setName("stu2");st2.setClassroom(classroom); //先保存classroom先,因为你先保存classroom,student才可以获取classroom的id来保存外键。//如果你先保存studen再保存classroom,后面多会了update语句,这个update语句就是为student更新外键的 s.save(classroom);s.save(st1);s.save(st2);t.commit();*/// 查询/*Student stu = (Student) s.load(Student.class, 3L);System.out.println(stu.getClassroom().getName());*/} catch (Exception e) {e.printStackTrace();t.rollback();} finally {s.close();}}}
OK,,,,
阅读全文
0 0
- java鬼混笔记:Hibernate:4、多对一
- java鬼混笔记:Hibernate:5、多对多关联、多对多拆份两个一对多
- java鬼混笔记:Hibernate:5、一对多关联(单向,双向)
- java鬼混笔记:Hibernate:1、基本操作
- java鬼混笔记:Hibernate:6、二级缓存配置
- java鬼混笔记:Hibernate:8、Hibernate BaseDao批量添加
- java鬼混笔记:JAVA JXL对EXCEL的简单读写
- java鬼混笔记:SSH框架实例(Sping,SpringMVC,Hibernate)
- java鬼混笔记:maven操作
- java鬼混笔记:lucene 4、中文分词器--IKAnalyzer
- java鬼混笔记:springboot 4、springboot热部署
- java鬼混笔记:redis 4、redis主从配置
- java鬼混笔记:Hibernate:2、一对一关系之主键单向和双向关联
- java鬼混笔记:Hibernate:3、一对一关系之外键单向和双向关联
- java鬼混笔记:Hibernate:7、乐观锁(有代码)和悲观锁(无代码)
- Hibernate学习笔记----单向多对一
- Hibernate学习笔记----双向多对一
- java鬼混笔记:http get post 请求
- 设计模式之建造者模式
- 算法题/杨氏矩阵
- StringHelper--封转自己的字符串工具类
- leetcode[Range Addition II]
- 用js实现自动打字动画效果
- java鬼混笔记:Hibernate:4、多对一
- linux编辑器vim笔记第一节
- 构建根文件系统
- Equation Again
- glibc源码分析之chdir,fchdir,chroot,getcwd
- 过山车
- 整理android逆向工程师技能表 by非虫from看雪
- C语言常用转换说明区别
- servlet监听完成统计在线人数,显示在线人员列表(附源码)