Hibernate单向关联1-1
来源:互联网 发布:数据交换是什么意思 编辑:程序博客网 时间:2024/05/29 19:48
基于外键的单向1-1关联
一个House关联一个Owner。
House类:
package com.ydoing.hibernate3;import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.OneToOne;import javax.persistence.Table;@Entity@Table(name = "house_inf")public class House { @Id @Column(name = "house_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; @OneToOne(targetEntity = Owner.class, cascade = CascadeType.ALL) @JoinColumn(name = "owner_id", referencedColumnName = "owner_id", unique = true) private Owner owner; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Owner getOwner() { return owner; } public void setOwner(Owner owner) { this.owner = owner; }}
Owner类:
package com.ydoing.hibernate3;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name = "owner_inf")public class Owner { @Id @Column(name = "Owner_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } private String name;}
测试类:
package com.ydoing.hibernate3;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.ServiceRegistry;import org.junit.BeforeClass;import org.junit.Test;public class Main { private static Session session; @BeforeClass public static void init() { Configuration conf = new Configuration(); conf.configure(); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(conf.getProperties()) .build(); SessionFactory factory = conf.buildSessionFactory(serviceRegistry); session = factory.openSession(); } @Test public void test() { Transaction tx = session.getTransaction(); tx.begin(); Owner owner = new Owner(); owner.setName("Jack"); House house = new House(); house.setName("elegant"); house.setOwner(owner); session.save(house); tx.commit(); session.close(); }}
console输出:
Hibernate: insert into owner_inf (name) values (?)Hibernate: insert into house_inf (name, owner_id) values (?, ?)
从输出可以看出owner_id作为house_inf的外键。
数据表:
1 0
- Hibernate单向关联1-1
- Hibernate单向关联N-1
- Hibernate单向关联1-N
- Hibernate 单向N-1关联
- Hibernate的单向1-1关联(二)
- Hibernate的单向1-N关联(三)
- 【hibernate】关联映射那些事(一)---单向N-1关联与单向1-1关联
- Hibernate的关联映射(1)-单向N-1关联
- Hibernate的关联映射(2)-单向1-1关联
- hibernate 一对多关联 (1)单向关联
- Hibernate的关联映射(3)-单向1-N关联
- Hibernate学习随笔-----关系映射(1)单向N-1关联
- Hibernate学习笔记-----关系映射(2)单向1-1关联
- Hibernate关系映射1:单向N-1关联
- hibernate关联关系映射(1对1 单向 外键)
- Hibernate多对一单向关联(1)
- Hibernate单向1-N关联的简单示例
- Hibernate学习随笔-----关系映射(3)单向1-N关联
- UIView的图层关系
- c++中的explicit关键字
- 防止Block的循环引用
- 黑马程序员—JAVA基础—反射
- [转]构建C协程之setjmp/long_jmp篇
- Hibernate单向关联1-1
- maven 无法下载org.apache.maven.plugins插件
- HDU 4704 Sum
- select下拉框内容显示不完整
- 南邮 OJ 1404 取数游戏
- RTEMS-BBB(四):rki镜像
- Server Tomcat v7.0 Server at localhost failed to start
- 错误Illegal instruction 的解决方法
- POJ1321 棋盘问题(dfs)