`

Hibernate OneToOne注解配置

 
阅读更多

1. Hibernate Annotation注解OneToOne 

 

原理就不介绍了

 

2. 数据字典表

 

  tb_addressInfo

 

 

CREATE TABLE `tb_addressinfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `detail` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `userInfo_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `userInfo_id` (`userInfo_id`),
  KEY `FK2F779271FC1A0B7B` (`userInfo_id`),
  CONSTRAINT `FK2F779271FC1A0B7B` FOREIGN KEY (`userInfo_id`) REFERENCES `tb_userinfo` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

 

tb_userinfo

 

CREATE TABLE `tb_userinfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

 

AddressInfo

 

package org.zk.liuqing.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * 
 * @author LiuQing
 * @see 显示地址
 * @version 1.0
 * @date 2010-6-26 下午11:00:02
 */
@Entity(name="AddressInfo")
@Table(name="tb_addressInfo")
public class AddressInfo implements Serializable {
	
	private static final long serialVersionUID = -3387012027037438359L;

	@Id @GeneratedValue(strategy=IDENTITY)
    @Column(name="id", unique=true, nullable=false)
	private Integer id;
	
	@Column
	private String name;
	
	@Column
	private String detail;
	
	@OneToOne
	@JoinColumn(name="userInfo_id",insertable=true,unique=true)
	private UserInfo userInfo;

	public UserInfo getUserInfo() {
		return userInfo;
	}
	
	public void setUserInfoAddressInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
		this.userInfo.setAddressInfo(this);
	}

	public void setUserInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
	}

	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 String getDetail() {
		return detail;
	}

	public void setDetail(String detail) {
		this.detail = detail;
	}

}
 

 

 

package org.zk.liuqing.domain;

import static javax.persistence.GenerationType.IDENTITY;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * 
 * @author LiuQing
 * @see 用户信息
 * @version 1.0
 * @date 2010-6-26 下午11:00:45
 */
@Entity(name="UserInfo")
@Table(name="tb_userInfo")
public class UserInfo implements Serializable {
	
	private static final long serialVersionUID = 1054325973011267306L;
	
	@Id @GeneratedValue(strategy=IDENTITY)
    @Column(name="id", unique=true, nullable=false)
	private Integer id;
	
	@Column
	private String name;
	
	@OneToOne(mappedBy="userInfo",fetch=FetchType.EAGER)
	private AddressInfo addressInfo;

	public AddressInfo getAddressInfo() {
		return addressInfo;
	}

	public void setAddressInfoUserInfo(AddressInfo addressInfo) {
		this.addressInfo = addressInfo;
		this.addressInfo.setUserInfo(this);
	}
	
	public void setAddressInfo(AddressInfo addressInfo) {
		this.addressInfo = addressInfo;
	}

	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;
	}
	
}
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论
2 楼 mianhuaman 2012-09-09  
指向,比如你去新浪注册了一个帐号。那么mappedBy就是你注删帐号,你可能通过这个帐号登录你的新浪箱相或博客。他的主要作用就是指别人是通过什么方式找到你的。
1 楼 paladin1988 2012-08-20  
请问mappedBy是什么意思呢?

相关推荐

    spring-hibernate注解配置源码

    本实例"spring-hibernate注解配置源码"旨在展示如何在不使用XML配置的情况下,通过注解的方式整合Struts2、Spring和Hibernate,创建一个完整的MVC(模型-视图-控制器)架构的应用。下面将详细介绍这个过程中的关键...

    Struts2 Spring3.0 Hibernate3.3 整合全注解配置用的数据库

    总结来说,Struts2、Spring3.0和Hibernate3.3的全注解配置简化了代码,提高了可读性和可维护性。通过注解,我们可以快速地定义bean、映射请求、管理事务和数据库关系。这个数据库示例表明了这些技术在实际项目中的...

    Hibernate 3 注解技术讲解

    Hibernate 3引入了注解支持,使得开发人员无需XML配置文件即可进行对象持久化,提高了开发效率。本文将深入探讨Hibernate 3中的注解技术,旨在为学习Hibernate 3的开发者提供一个清晰的理解。 ### 1. Hibernate 3 ...

    Hibernate注解配置表映射实例

    在这个“Hibernate注解配置表映射实例”中,我们将深入探讨如何使用Hibernate的注解来配置实体类与数据库表之间的映射。 Hibernate注解提供了在Java类和类属性上直接定义数据库映射的能力,避免了XML配置文件的繁琐...

    hibernate的注解形式

    **正文** Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使得...在提供的"HibernateAnnotation"压缩包文件中,应该包含了一些具体的注解配置示例,这将帮助你更深入地了解和掌握Hibernate的注解配置。

    hibernate one to one 映射到两种方式

    在Hibernate执行CRUD操作时,它会根据注解配置生成SQL语句。对于主键外键关联,Hibernate会自动处理外键的设置;而对于单独的外键关联,Hibernate会在保存关联对象时同步更新外键值。 四、最佳实践 选择哪种方式取...

    注解配置 javabean hibernate 关联关系

    在Hibernate框架中,注解配置被广泛用于简化对象关系映射(ORM)的配置,使得Java Bean可以直接与数据库表进行关联。本篇文章将深入探讨如何使用注解配置Java Bean并建立Hibernate的关联关系。 首先,我们需要理解...

    hibernate_onetoone实例

    这可以通过在映射文件中设置`<one-to-one>`标签或者使用Java注解`@OneToOne`来实现。 2. **共享主键关联**:两个实体类共用同一个主键,这意味着它们在数据库中实际上是同一个表的不同视图。这可以通过`@...

    hibernate+spring注解例子

    在`Hibernate`中,我们还可以使用注解来处理关联关系,如`@ManyToOne`, `@OneToMany`, `@OneToOne`和`@ManyToMany`,它们分别对应一对一、一对多、多对一和多对多的关系。例如,一个用户可以有多个订单,那么在订单...

    hibernate 关联映射(二) one to one(单向)

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它使得开发者能够将数据库操作与业务逻辑代码...在实际开发中,根据业务需求合理配置`@OneToOne`注解,可以提高代码的可读性和数据库操作的效率。

    Hibernate关于注解的一对多,多对多,一对一

    在Java的持久化框架Hibernate中,注解是用于对象关系映射(ORM)的重要工具,它简化了传统XML配置的方式,使代码更加简洁、易读。本篇文章将深入探讨Hibernate中注解的一对多、多对多和一对一关系映射。 ### 一对多...

    hibernate4全注解例子

    2. **注解配置**:在Hibernate4中,我们可以使用注解来替代XML配置文件,简化项目结构。常见的注解包括@Entity(定义实体类)、@Table(指定表名)、@Id(主键)、@GeneratedValue(生成策略)、@Column(字段映射)...

    Hibernate 注解说明文档

    Hibernate注解是一种元数据方式,用于在Java类和属性上声明数据库映射信息,从而避免了XML配置文件的繁琐。注解提供了一种更加简洁、直观的方式来描述实体类和它们与数据库表之间的关系。 1. **@Entity**: 表示一个...

    hibernate4注解详尽参考

    文档内容会包括每一个注解的详细介绍、属性、适用场景和配置方式,确保开发者能够根据自己的需求选择合适的注解来构建持久层。 对于Hibernate框架本身,升级至4版本带来的变化还包括对Java新版本的支持,比如支持...

    Hibernate 注解配置

    【Hibernate注解配置详解】 在Java的持久化框架中,Hibernate是一个非常重要的工具,它极大地简化了数据库操作。本文将深入探讨Hibernate的注解配置,包括实体类的注解、映射关系的定义以及事务管理等方面,帮助你...

    Hibernate注解jar包

    在Hibernate 3.2版本之后,引入了注解支持,极大地减少了XML配置文件的需求,使得代码更加简洁易读。本主题将深入探讨Hibernate注解的相关知识点。 1. **注解概述**: 注解(Annotations)是Java 5引入的一种元...

    hibernate 中文注解

    ### hibernate 中文注解知识点解析 #### 一、前言 - **翻译说明:** 该文档为Hibernate中文版注解文档的翻译版本,由满江红翻译团队...通过学习并掌握这些注解和配置选项,开发者可以更加高效地使用Hibernate框架。

    Hibernate双向一对一关联映射(注解版)

    // 使用@OneToOne注解声明与Profile的一对一关系 @OneToOne(mappedBy = "person") private Profile profile; // 其他属性和方法... } ``` 这里,`mappedBy`属性表示另一端的实体(即`Profile`)拥有外键。接...

    Hibernate映射关系配置:XML方式和注解方式

    这种映射有两种主要的实现方式:XML配置和注解配置。 **XML方式** 1. **hibernate.cfg.xml**:这是Hibernate的全局配置文件,用于配置数据源、方言、缓存等信息。 2. **实体类映射文件**:如`User.hbm.xml`,它将...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在全注解模式下,我们可以利用@Entity、@Table、@Id、@GeneratedValue等注解来定义实体类,@ManyToOne、@OneToMany、@OneToOne、@ManyToMany处理关联关系,@Column、@Temporal等注解来定制字段属性。 在这个视频...

Global site tag (gtag.js) - Google Analytics