`

13.hibernate一对一单向联合主键外键关联,jpa映射

阅读更多
husband表结构:

wife表结构:

package com.bjsxt.hibernate;

import java.io.Serializable;



public class WifePK implements Serializable {
	private int id;
	private String name;
	
	
	public 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;
	}
	
}



package com.bjsxt.hibernate;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;

@Entity
@IdClass(WifePK.class)
public class Wife {
	private int id;
	private String name;
	private int age;
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Id
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	@Id
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}



package com.bjsxt.hibernate;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.OneToOne;

@Entity
public class Husband {
	private int id;
	private String name;
	private Wife wife;
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	
	public String getName() {
		return name;
	}
	@OneToOne
	@JoinColumns(
		{
			@JoinColumn(name="wifeId", referencedColumnName="id"),
			@JoinColumn(name="wifeName", referencedColumnName="name")
		}
	)
	public Wife getWife() {
		return wife;
	}
	public void setId(int id) {
		this.id = id;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setWife(Wife wife) {
		this.wife = wife;
	}
	
}

  • 大小: 2.2 KB
  • 大小: 1.5 KB
分享到:
评论

相关推荐

    Hibernate 一对一外键单向关联

    本篇文章将深入探讨Hibernate中的一对一外键单向关联。 首先,一对一外键关联指的是一个实体通过外键直接引用另一个实体的主键。在单向关联中,只有其中一个实体知道另一个实体的存在,而另一个实体则无感知。这种...

    hibernate 主键一对一映射(单向) 实例(java类)

    通过以上步骤,我们就可以在Hibernate中实现单向一对一主键映射。这个实例中的`hibernate_fifth_one2one_pk_1`文件可能包含了相关的代码示例或测试用例,供你参考和学习。理解并掌握一对一映射是提高Hibernate使用...

    hibernate多对一单向关联关系实现源码

    在Java的持久化框架Hibernate中,多对一(ManyToOne)关联关系是一种常见的对象关系映射(ORM)场景。这种关系通常出现在一个实体类拥有多条与另一个实体类相关的记录,而另一个实体类可能只有一条对应的记录。例如...

    Hibernate一对多单向关联映射

    在Java的持久化框架Hibernate中,一对多关系是常见的实体关联映射方式,它表示一个实体可以与多个其他实体相对应。本篇文章将深入探讨Hibernate中一对多单向关联映射的概念、配置以及其实现方法。 一、概念理解 一...

    hibernate一对多,多对一,一对多双向关联

    “Hibernate 一对多,多对一,一对多双向关联”是指在Java持久化框架Hibernate中,实体间常见的三种关联关系。在数据库设计中,这种关联关系是常见的,例如一个用户可以有多个订单(一对多),一个订单对应一个用户...

    JPA关联关系

    本文将深入探讨JPA中的四种主要关联关系:一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。 1. **一对一关联(OneToOne)** 在一对一关联中,一个实体实例对应数据库中的唯...

    hibenate笔记

    一对一主键关联映射** 一对一关联表示两个实体之间存在一对一的关系,可以通过共享主键来实现。在单向一对一映射中,只需在拥有主键的一方使用`<one-to-one>`标签;而在双向一对一映射中,双方都需要配置`...

    Hibernate多对多关联关系demo

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关联关系是一种常见的实体间关系类型,它表示一个实体可以与多个其他实体相关联,反之亦然。本示例"Hibernate多对多关联关系demo"将深入探讨如何在实际开发中...

    Hibernate多对多关系

    在Java的持久化框架Hibernate中,多对多(Many-to-Many)关系是数据库中常见的关联类型,它允许一个实体实例对应多个其他实体实例,反之亦然。这种关系在现实生活中很常见,例如,学生可以注册多门课程,课程也可以...

    Hibernate学习教程和笔记

    - **一对一关联**: 可通过外键或主键关联,支持单向或双向。 - **多对一关联**: 通过外键映射,支持单向或双向,关注级联操作。 - **一对多关联**: 实现方式与多对一相反,同样支持单向或双向。 - **组件映射**: 将...

    Hibernate3.2官方中文参考手册

    Hibernate支持各种关联关系,包括单向和双向的一对一、一对多、多对一,以及多对多关系。关联可以通过外键、主键、复合键等方式实现,还可以配置懒加载和立即加载策略。 十一、性能优化 优化包括最小化数据库访问、...

    Hibernate知识总结

    - 单向一对多时,`@JoinColumn` 可以去掉中间表,修改字段名。 - 双向一对多时,直接修改字段名会导致额外字段生成,通常不推荐。 15. **外键**: - 外键总是添加在多的一方,遵循“以多为主”的原则。 16. **...

    多对多双向关联

    首先,我们来看如何在Java中使用JPA(Java Persistence API)或Hibernate(一个流行的JPA实现)来设置多对多双向关联。双向关联意味着两个实体类都将持有对彼此的引用。例如,考虑一个“学生”和“课程”的场景,每...

    Spring 常见面试题

    1. **使用双向一对多关联**,避免使用单向一对多。 2. **灵活使用单向一对多关联**,以减少不必要的加载。 3. **使用多对一代替一对一**,以减少查询次数。 4. **配置对象缓存**,而不是集合缓存。 5. **一对多集合...

    hibernate-one-to-many-uni

    【标题】"hibernate-one-to-many-uni" 指的是在Hibernate框架下实现的一对多单向关联关系。Hibernate是Java开发中常用的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是数据库交互。在这个...

    UnoAUnoAnot_Aitor_20180515

    描述提到“通过注释进行Hibernate练习,一对一的单向关系”,这表明该资源专注于使用Hibernate框架来实现Java应用程序中的一对一单向关系。 Hibernate是一个流行的对象关系映射(ORM)框架,它允许Java开发者将...

Global site tag (gtag.js) - Google Analytics