博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【8.2】注解方式:双向多对一
阅读量:5314 次
发布时间:2019-06-14

本文共 2947 字,大约阅读时间需要 9 分钟。

1.Book类和Category类

package cn.siggy.pojo;import java.util.Date;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.ManyToOne;import javax.persistence.Table;//entity表示需要持久化的实体类@Entity//实体类 所对应的表@Tablepublic class Book {	//id主键	@Id	//指定 主键生成策略	@GeneratedValue(strategy=GenerationType.AUTO)	private int id;	private String name;	private double price;	private String author;	private Date pubDate;	@ManyToOne(cascade=CascadeType.ALL)	@JoinColumn(name="category_id")	private Category category;	/*get/set*/}
===========================package cn.siggy.pojo;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToMany;import javax.persistence.Table;@Entity@Tablepublic class Category {	@Id	@GeneratedValue(strategy=GenerationType.AUTO)	private int id;	private String name;	@OneToMany(mappedBy="category")	private Set
books = new HashSet
(); /*get/set*/}

  

2.Hibernate.cfg.xml

com.mysql.jdbc.Driver
jdbc:mysql:///hibernate4
root
root
org.hibernate.dialect.MySQLDialect
true
true
update

  

3.测试代码

package cn.siggy.test;import java.util.Date;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;import org.junit.Test;import cn.siggy.pojo.Book;import cn.siggy.pojo.Category;import cn.siggy.util.HibernateUtil;public class HibernateTest {	@Test	public void testCreateDB(){		//3.x		//Configuration cfg = new AnnotationConfiguration().configure();		Configuration cfg = new Configuration().configure();		SchemaExport se = new SchemaExport(cfg);		se.create(true, true);	}	@Test	public void testSave(){		Session session = HibernateUtil.getSession();		Book book = new Book();		book.setName("丰乳肥臀");		book.setPrice(60.5);		book.setAuthor("莫言");		book.setPubDate(new Date());				Category category = new Category();		category.setName("文学");		book.setCategory(category);		Transaction tx = session.beginTransaction();		session.save(book);		tx.commit();		HibernateUtil.closeSession();	}	@Test	public void testGet(){		Session session = HibernateUtil.getSession();		Transaction tx = session.beginTransaction();		Book book = (Book)session.get(Book.class, 1);		System.out.println(book.getName()+"---"+book.getCategory().getName());				tx.commit();		HibernateUtil.closeSession();	}}

  

 

转载于:https://www.cnblogs.com/chxbar/p/6686677.html

你可能感兴趣的文章
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
Java面向对象重要关键字
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>