*************************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(一)相关推荐

  1. java面试常见问题之Hibernate总结

    1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象.) Ø  OID检索(按照对象的OID来检索对象.) Ø  HQL检索(使用面向对象的HQL查询语言.) ...

  2. Spring中启用Hibernate二级缓存步骤

    1.在applicationContext.xml配置文件中SessionFactory  bean中配置缓存 <!-- 配置会话工厂对象 --> <bean id="se ...

  3. ssh(Struts+spring+Hibernate)三大框架整合-简述

    ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...

  4. Hibernate框架第二天

    ### Hibernate的持久化类 ### ---------- **什么是持久化类** 1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为 ...

  5. Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**

    之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...

  6. 使用hibernate与mysql时数据不能插入的原因及解决办法

    1.背景 之前从没用过hibernate,因此在网上搜了一下hibernate快速入门方面的信息,最后我按照<Myeclipse Hibernate 快速入门 中文版>(CSDN,百度文库 ...

  7. IntelliJ IDEA下自动生成Hibernate映射文件以及实体类

    转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...

  8. Spring Hibernate JPA 联表查询 复杂查询

    (转自:http://www.cnblogs.com/jiangxiaoyaoblog/p/5635152.html) 今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的 ...

  9. 5 -- Hibernate的基本用法 --2 1 Hibernate 下载和安装

    1. 下载Hibernate压缩包 2. 解压:文件结构 ⊙ documentation : 该路径下存放了Hibernate的相关文档,包括Hibernate的参考文档和API文档等. ⊙ lib ...

  10. Hibernate的一级缓存

    Hibernate的一级缓存 什么是缓存:缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取 缓存的好处:提升程序运行的效率.缓存技术是Hibe ...

最新文章

  1. 谈搜索架构师的不同阶段
  2. 不是每个人都适合linux
  3. python每周小测验答案_python第一周小测验答案Centos下更新Python版本
  4. dbcp连接池配置详解_重学MySQL:事务与连接池,一文详解带你搞懂
  5. python中os模块详解_Python OS模块(常见文件操作示例)
  6. PhpStorm 配置 Git 教程
  7. 小趣味:js编写斗地主规则(完整代码)
  8. python毕业论文参考文献格式_毕业论文参考文献规范格式
  9. 电脑插入耳机未识别的问题
  10. 中报行情 锁定四大板块8只高送转潜力股 2011-7-9
  11. 修改scrollbars的样式
  12. 【基于LM358和LM386的话音放大器设计】
  13. 在linux下如何显示隐藏文件
  14. gabor 变换matlab,Gabor变换到底是什么鬼?
  15. Matlab之代数方程求解:函数方程的展开与合并
  16. PyTorch-09 循环神经网络RNNLSTM (时间序列表示、RNN循环神经网络、RNN Layer使用、时间序列预测案例、RNN训练难题、解决梯度离散LSTM、LSTM使用、情感分类问题实战)
  17. 【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 119期】
  18. HTML5开发APP页面(动效篇)
  19. LTE学习笔记--LTE无线连接过程--网络接入过程
  20. 上海东原从“野心家”到“大玩家” 连接江湖“人情味”

热门文章

  1. mysql 启动参数_MySQL启动相关参数 MySQL DBA学习
  2. 【正则表达式】1.入门
  3. Go 语言 bytes.buffer write 相关操作
  4. 模拟器中文输入法设置
  5. [ORACLE错误]oracle 不能更新 PL/SQL 点击“edit data”报“ these query results are not updateable”...
  6. 上市公司相关财务指标
  7. 运维杂记(二):打印机print spooler服务自动关闭
  8. Delphi XE2 之 FireMonkey 入门(17) - 特效
  9. 网管管理的12种方法
  10. greta的问题及解决: LIBCMTD.lib(_wctype.obj) : error LNK2005: _iswspace already defined in xxx.obj...