hibernate使用注解的方式进行多对一关联
来源:互联网 发布:sqlserver入门到精通 编辑:程序博客网 时间:2024/06/05 03:29
1 添加支持jap注解的包;
2 在持久化类中配置注解;
3 在配置中配置映射;
4 用 AnnotationConfigurration配置;
5 常用注解:
@Entity 表示持久化类;
@Id 主键
@GeneratedValue 主键自增
@ManyToOne(cascade=(CascadeType.ALL)) 所有操作进行级联
@@OneToMany(cascade=(CascadeType.ALL),mappedBy="classes") mappedBy 拥有该注解的类放弃控制权
6 双向关联通常和关联双方都加cascade及mappBy一起用;
双向多对一:
package com.tem.hib;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;@Entitypublic class Student {@Id@GeneratedValueprivate Integer sid;private String sname;@ManyToOne(cascade=(CascadeType.ALL))private Classes classes;public Classes getClasses() {return classes;}public void setClasses(Classes classes) {this.classes = classes;}public Integer getSid() {return sid;}public void setSid(Integer sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}}
package com.tem.hib;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToMany;@Entitypublic class Classes {@Id@GeneratedValueprivate Integer cid;private String cname;@OneToMany(cascade=(CascadeType.ALL),mappedBy="classes")private Set<Student> students=new HashSet<Student>();public Set<Student> getStudents() {return students;}public void setStudents(Set<Student> students) {this.students = students;}public Integer getCid() {return cid;}public void setCid(Integer cid) {this.cid = cid;}public String getCname() {return cname;}public void setCname(String cname) {this.cname = cname;}}
package com.tem.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;import com.tem.hib.Classes;import com.tem.hib.Student;public class Test {public static void main(String[] args) {Configuration cfg=new AnnotationConfiguration().configure();//SchemaExport schema=new SchemaExport(cfg);//schema.create(true, true);SessionFactory sf=cfg.buildSessionFactory();Session session=sf.openSession();session.beginTransaction();Student s=new Student();Classes c=new Classes();c.setCname("C3");s.setSname("a1");s.setClasses(c);c.getStudents().add(s);session.save(c);session.getTransaction().commit();}}
0 0
- hibernate使用注解的方式进行多对一关联
- hibernate注解方式单向多对一关联
- Hibernate注解多对一关联关系
- Hibernate一对多、多对一关联关系的使用
- hibernate多对一关联映射(cascade的使用)
- hibernate多对一关联映射(cascade的使用)
- hibernate多对一关联映射(cascade的使用)
- Hibernate的注解方式:多对多双向关系基于外键关联
- hibernate中实体关联的注解写法(一对多,多对一)
- hibernate使用注解实现多对多关联映射
- Hibernate的关联关系注解映射(一对一、一对多、多对一、多对多、自连接)
- Hibernate中用注解配置一对多双向关联和多对一单向关联
- Hibernate中用注解配置一对多双向关联和多对一单向关联
- hibernate 多对一关联
- hibernate注解方式单向一对多关联
- hibernate注解方式双向一对多关联
- hibernate使用list进行多对多关联时中间表的主键策略
- Hibernate多对多中间表有多个字段字段的注解配置方式(一)
- JAVA之编码/解码-文件输入输出流——转载
- 不要62
- maven依赖学习
- JAVA新特征
- 杭电2188悼念512汶川大地震遇难同胞——选拔志愿者
- hibernate使用注解的方式进行多对一关联
- DataTable相关操作,筛选,取前N条数据,去重复行,获取指定列数据
- 堆——大根堆
- (15.1.12)单词之基础技巧
- 设计模式--原型模式
- java如何得到GET和POST请求URL和参数列表
- 【数据结构】 CF 547B Mike and Feet
- 计算机系统----为什么要学计算机系统?
- 在windows系统下用硬盘安装ubuntu双系统