Hibernate Annotation 多对一 双向
来源:互联网 发布:销售数据的类别ppt 编辑:程序博客网 时间:2024/05/16 08:27
Group.java 实体文件
package com.model;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToMany;import javax.persistence.Table;@Entity@Table(name="t_group")public class Group {private int id;private String name;private Set<User> users = new HashSet<User>();@OneToMany( cascade={CascadeType.ALL},mappedBy="group",fetch=FetchType.EAGER)public Set<User> getUsers() {return users;}public void setUsers(Set<User> users) {this.users = users;}@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;}}
===========================================================================================================================
User.java 实体文件
package com.model;import javax.persistence.CascadeType;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;@ManyToOne(cascade={CascadeType.ALL})public 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;}}
================================================================================================================================
这是JUnit测试类,UG.JAVA
import javax.persistence.CascadeType;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.tool.hbm2ddl.SchemaExport;import org.junit.AfterClass;import org.junit.BeforeClass;import org.junit.Test;import com.model.*;public class UG {private static SessionFactory sessionFactory = null;@BeforeClasspublic static void beforeClass(){sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();new SchemaExport(new AnnotationConfiguration().configure()).create(false,true);}@Testpublic void testDeleteUser(){testSaveGroup();Session session = sessionFactory.getCurrentSession();session.beginTransaction();//User u = (User) session.load(User.class,1);//load 为代理// get为直接//session.delete(g);//u.setGroup(null); cascade为 CascadeType.ALL ,会删除参照。session.createQuery("select * from User u where u.id=1").executeUpdate();//HQL。'User'为类名session.getTransaction().commit();}/*@Testpublic void testUpdateUser(){testSaveGroup();Session session = sessionFactory.getCurrentSession();session.beginTransaction();User g = (User) session.load(User.class,1);//load 为代理// get为直接System.out.println(g.getName());session.getTransaction().commit();g.setName("UU2");Session s = sessionFactory.getCurrentSession();s.beginTransaction();s.update(g);s.getTransaction().commit();System.out.println(g.getName());}*//*@Testpublic void testGetGroup(){testSaveGroup();Session session = sessionFactory.getCurrentSession();session.beginTransaction();Group g = (Group) session.get(Group.class,1);session.getTransaction().commit();for(User uu: g.getUsers()){System.out.println(uu.getName());}}*//*@Testpublic void testGetUser(){Session session = sessionFactory.getCurrentSession();session.beginTransaction();User user1 = (User) session.get(User.class,1);session.getTransaction().commit();}*//*@Testpublic void testSaveUser(){User u = new User();u.setName("u1");Group g = new Group();g.setName("g1");u.setGroup(g);Session session = sessionFactory.getCurrentSession();session.beginTransaction();//session.save(g);// 在@ManyToOne()里设‘cascade={CascadeType.ALL}’.可级联操作session.save(u);session.getTransaction().commit();}*/@Testpublic void testSaveGroup(){Group g = new Group();g.setName("g2");User u1 = new User();u1.setName("u1");u1.setGroup(g);User u2 = new User();u2.setName("u2");u2.setGroup(g);g.getUsers().add(u1);g.getUsers().add(u2);Session session = sessionFactory.getCurrentSession();session.beginTransaction();//session.save(u);// 在@ManyToOne()里设‘cascade={CascadeType.ALL}’.可级联操作session.save(g);session.getTransaction().commit();}/*@Testpublic void print(){new SchemaExport(new AnnotationConfiguration().configure()).create(false,true);}*/@AfterClasspublic static void afterClass(){sessionFactory.close();}}
- Hibernate Annotation 多对一 双向
- Hibernate Annotation 多对多 双向 示例
- 【hibernate框架】一对多(多对一)双向关联(Annotation实现)
- Hibernate多对多双向关联(Annotation配置)
- Hibernate多对多双向关联(Annotation配置)
- 【hibernate框架】多对多双向关联(Annotation实现)
- Hibernate多对多双向关联(Annotation配置)
- Hibernate annotation 多对多双向关联(很少用)
- Hibernate annotation 一对多,多对一
- Hibernate Annotation 多对一单向关联
- Hibernate双向一对多(多对一)
- 五、hibernate多对一(双向关联)
- Hibernate双向多对一关系
- hibernate双向多对一映射关系
- hibernate ORM映射:双向多对一
- Hibernate双向多对一关系
- Hibernate学习笔记----双向多对一
- hibernate 多对一的双向理解
- 实现简单的 webQQ聊天系统
- 源码推荐:BASequenceControl
- 使用javasciprt自定义函数同样可以引用js文件
- Java链表的排序
- HTTP Response Status Code Definitions
- Hibernate Annotation 多对一 双向
- RedHat Enterprise linux 5 安装启动FTP 服务
- ckeditor+ckfinder 集成 实现上传下载(Image/Flash/File/Other) 有下载连接
- pack &unpakc
- 用GRUB安装uBuntu10.04的光盘镜像,不用解压ISO
- Tomcat Manager 密码问题
- Sybase ASE12.5数据库状态值的含义
- java利用反射实例化类、使用类中普通方法、使用类main(静态)方法
- splite