Hibernate多对一实例【xml和注解】many-to-one(十六)
来源:互联网 发布:首届全球程序员节logo 编辑:程序博客网 时间:2024/06/13 01:31
1 容易出错的地方
User为多,user中用manytoone的时候 记得类中引入Group的类
步骤如下
2 更改User类
package com.sm.hibernate.pojo;public class User {private int id;private String name;private int qq;private Grade grade;public Grade getGrade() {return grade;}public void setGrade(Grade grade) {this.grade = grade;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getQq() {return qq;}public void setQq(int qq) {this.qq = qq;}}
更改对应配置文件
<?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><class name="com.sm.hibernate.pojo.User" table="hib_user"><id name="id"><generator class="native"></generator></id><property name="name"></property><property name ="qq"></property><many-to-one name = "grade" cascade="all" column="gradeid" class ="com.sm.hibernate.pojo.Grade"></many-to-one> </class></hibernate-mapping>
3 添加Grade类
package com.sm.hibernate.pojo;public class Grade {public int id;private String name;private int classNum;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getClassNum() {return classNum;}public void setClassNum(int classNum) {this.classNum = classNum;}}
<?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><class name="com.sm.hibernate.pojo.Grade" table="hib_grade"><id name="id"><generator class="native"></generator></id><property name="name"></property><property name ="classNum" type="java.lang.Integer"></property> </class></hibernate-mapping>
4 测试类更改
package com.sm.hibernate.Test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import com.sm.hibernate.pojo.Grade;import com.sm.hibernate.pojo.User;public class Test {public static void main(String[] args) {SessionFactory factory = new Configuration().configure().buildSessionFactory();Session session = factory.openSession();session.beginTransaction();User user = new User();user.setQq(323222);user.setName("abolo");Grade g = new Grade();Grade grade = new Grade();grade.setName("ww");grade.setClassNum(44);user.setGrade(grade);session.save(user);session.save(grade);session.getTransaction().commit();}}
5 结果
Hibernate: insert into hib_grade (name, classNum) values (?, ?)Hibernate: insert into hib_user (name, qq, gradeid) values (?, ?, ?)
6
package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="t_group")public class Group {private int id;private String name;@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
7 下面是注解版
package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.persistence.Table;@Entity@Table(name="t_user")public class User {private int id;private String name;private Group group;@ManyToOnepublic Group getGroup() {return group;}public void setGroup(Group group) {this.group = group;}@Id@GeneratedValuepublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
- Hibernate多对一实例【xml和注解】many-to-one(十六)
- hibernate单向多对一关联映射(many-to-one)XML与注解版
- Hibernate关联映射(多对一 --- many-to-one)
- Hibernate 多对一(Many-to-One)映射
- hibernate annotation many-to-one cascade 没用(Hibernate 注解 多对一 级联 没用)
- hibernate的one-to-many和many-to-one实例
- 多对一(many-to-one)
- 多对一(many-to-one) .
- 多对一(many-to-one)
- hibernate中one-to-many实例一
- hibernate中many-to-one实例一
- hibernate 多对一映射 many-to-one
- hibernate 多对一(Many-to-one)单向关联
- Hibernate 、多表关联映射-多对一关系(many-to-one)
- hibernate one-to-many many-to-one 双向注解
- hibernate one-to-many many-to-one 双向注解
- hibernate one-to-many many-to-one 双向注解
- hibernate one-to-many many-to-one 双向注解
- 一袭疏影,旧梦眷顾青春
- 黑马程序员_IO流(二)
- 根据算法时间复杂度估算算法运行时间的示例及“对数Lg (x)"的灵活应用
- 守护进程(Daemon)编程
- A. The Wall
- Hibernate多对一实例【xml和注解】many-to-one(十六)
- 秦九韶算法 求解多项式值
- 管家婆服装.NET II TOP V6.5-采购入库单(一)
- 错误:C:\Windows\System32\ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit
- linux 系统管理员有用的命令
- HDU 1124 Factorial
- 创业公司的股权分配 .
- vs2012下编译生成的release版无法在xp下运行,不是有效的win32应用程序
- 裸的单调队列-poj-2823-Sliding Window