hibernate----N-1(一)
*************************hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property> <property name="connection.username">root</property> <property name="connection.password">123456</property><!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property><!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property><!-- Names the annotated entity class --> <mapping class="com.ij34.dao.Address"/> <mapping class="com.ij34.dao.People"/> </session-factory></hibernate-configuration>
***************************************************************
package com.ij34.dao;import java.util.HashSet; import java.util.Set;import javax.persistence.*;@Entity @Table(name="people_inf") public class People implements java.io.Serializable{ private static final long serialVersionUID = 1L; @Id private String first; @Id private String last; private int age; // 记录该People实体关联的所有Address实体 @OneToMany(targetEntity=Address.class,mappedBy="people",cascade=CascadeType.ALL) private Set<Address> address=new HashSet<>(); public String getFirst() { return first; } public void setFirst(String first) { this.first = first; } public String getLast() { return last; } public void setLast(String last) { this.last = last; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Set<Address> getAddress() { return address; } public void setAddress(Set<Address> address) { this.address = address; }}
**************************************************************************
package com.ij34.dao;import javax.persistence.*;@Entity @Table(name="Address_inf") public class Address{ @Id @Column(name="address_id") @GeneratedValue(strategy=GenerationType.IDENTITY) private int addressId; private String message; @ManyToOne(targetEntity=People.class) // 使用复合主键 @JoinColumns({ @JoinColumn(name="people_first",referencedColumnName="first",nullable=false), @JoinColumn(name="people_last",referencedColumnName="last",nullable=false) }) private People people; public int getAddressId() { return addressId; } public void setAddressId(int addressId) { this.addressId = addressId; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public People getPeople() { return people; } public void setPeople(People people) { this.people = people; }}
**********************************************************************************
package com.ij34.web;import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.service.*;import com.ij34.dao.Address; import com.ij34.dao.People; public class test01 { public static void main(String[] args)throws Exception { //实例化Configuration Configuration conf=new Configuration().configure(); ServiceRegistry SR=new StandardServiceRegistryBuilder().applySettings(conf.getProperties()).build(); // 以Configuration实例创建SessionFactory实例 SessionFactory SF=conf.buildSessionFactory(SR); //create session Session session=SF.openSession(); //start 事务 Transaction tx=session.beginTransaction(); People person = new People(); person.setAge(29); // 为复合主键的两个成员设置值 People people=new People(); people.setAge(22); people.setFirst("姓林"); people.setLast("名彪"); Address a1=new Address(); a1.setMessage("广州"); a1.setPeople(people); Address a2=new Address(); a2.setMessage("茂名"); a2.setPeople(people); session.save(people); session.save(a1); session.save(a2); tx.commit(); session.close(); SF.close(); } }
****************************************************************
hibernate----N-1(一)相关推荐
- java面试常见问题之Hibernate总结
1 Hibernate的检索方式 Ø 导航对象图检索(根据已经加载的对象,导航到其他对象.) Ø OID检索(按照对象的OID来检索对象.) Ø HQL检索(使用面向对象的HQL查询语言.) ...
- Spring中启用Hibernate二级缓存步骤
1.在applicationContext.xml配置文件中SessionFactory bean中配置缓存 <!-- 配置会话工厂对象 --> <bean id="se ...
- ssh(Struts+spring+Hibernate)三大框架整合-简述
ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...
- Hibernate框架第二天
### Hibernate的持久化类 ### ---------- **什么是持久化类** 1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为 ...
- Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**
之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...
- 使用hibernate与mysql时数据不能插入的原因及解决办法
1.背景 之前从没用过hibernate,因此在网上搜了一下hibernate快速入门方面的信息,最后我按照<Myeclipse Hibernate 快速入门 中文版>(CSDN,百度文库 ...
- IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...
- Spring Hibernate JPA 联表查询 复杂查询
(转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...
- 5 -- Hibernate的基本用法 --2 1 Hibernate 下载和安装
1. 下载Hibernate压缩包 2. 解压:文件结构 ⊙ documentation : 该路径下存放了Hibernate的相关文档,包括Hibernate的参考文档和API文档等. ⊙ lib ...
- Hibernate的一级缓存
Hibernate的一级缓存 什么是缓存:缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取 缓存的好处:提升程序运行的效率.缓存技术是Hibe ...
最新文章
- 谈搜索架构师的不同阶段
- 不是每个人都适合linux
- python每周小测验答案_python第一周小测验答案Centos下更新Python版本
- dbcp连接池配置详解_重学MySQL:事务与连接池,一文详解带你搞懂
- python中os模块详解_Python OS模块(常见文件操作示例)
- PhpStorm 配置 Git 教程
- 小趣味:js编写斗地主规则(完整代码)
- python毕业论文参考文献格式_毕业论文参考文献规范格式
- 电脑插入耳机未识别的问题
- 中报行情 锁定四大板块8只高送转潜力股 2011-7-9
- 修改scrollbars的样式
- 【基于LM358和LM386的话音放大器设计】
- 在linux下如何显示隐藏文件
- gabor 变换matlab,Gabor变换到底是什么鬼?
- Matlab之代数方程求解:函数方程的展开与合并
- PyTorch-09 循环神经网络RNNLSTM (时间序列表示、RNN循环神经网络、RNN Layer使用、时间序列预测案例、RNN训练难题、解决梯度离散LSTM、LSTM使用、情感分类问题实战)
- 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 119期】
- HTML5开发APP页面(动效篇)
- LTE学习笔记--LTE无线连接过程--网络接入过程
- 上海东原从“野心家”到“大玩家” 连接江湖“人情味”
热门文章
- mysql 启动参数_MySQL启动相关参数 MySQL DBA学习
- 【正则表达式】1.入门
- Go 语言 bytes.buffer write 相关操作
- 模拟器中文输入法设置
- [ORACLE错误]oracle 不能更新 PL/SQL 点击“edit data”报“ these query results are not updateable”...
- 上市公司相关财务指标
- 运维杂记(二):打印机print spooler服务自动关闭
- Delphi XE2 之 FireMonkey 入门(17) - 特效
- 网管管理的12种方法
- greta的问题及解决: LIBCMTD.lib(_wctype.obj) : error LNK2005: _iswspace already defined in xxx.obj...