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;
}
}
分享到:
相关推荐
本实例"spring-hibernate注解配置源码"旨在展示如何在不使用XML配置的情况下,通过注解的方式整合Struts2、Spring和Hibernate,创建一个完整的MVC(模型-视图-控制器)架构的应用。下面将详细介绍这个过程中的关键...
总结来说,Struts2、Spring3.0和Hibernate3.3的全注解配置简化了代码,提高了可读性和可维护性。通过注解,我们可以快速地定义bean、映射请求、管理事务和数据库关系。这个数据库示例表明了这些技术在实际项目中的...
Hibernate 3引入了注解支持,使得开发人员无需XML配置文件即可进行对象持久化,提高了开发效率。本文将深入探讨Hibernate 3中的注解技术,旨在为学习Hibernate 3的开发者提供一个清晰的理解。 ### 1. Hibernate 3 ...
在这个“Hibernate注解配置表映射实例”中,我们将深入探讨如何使用Hibernate的注解来配置实体类与数据库表之间的映射。 Hibernate注解提供了在Java类和类属性上直接定义数据库映射的能力,避免了XML配置文件的繁琐...
**正文** Hibernate是一款强大的Java持久化框架,它简化了数据库操作,使得...在提供的"HibernateAnnotation"压缩包文件中,应该包含了一些具体的注解配置示例,这将帮助你更深入地了解和掌握Hibernate的注解配置。
在Hibernate执行CRUD操作时,它会根据注解配置生成SQL语句。对于主键外键关联,Hibernate会自动处理外键的设置;而对于单独的外键关联,Hibernate会在保存关联对象时同步更新外键值。 四、最佳实践 选择哪种方式取...
在Hibernate框架中,注解配置被广泛用于简化对象关系映射(ORM)的配置,使得Java Bean可以直接与数据库表进行关联。本篇文章将深入探讨如何使用注解配置Java Bean并建立Hibernate的关联关系。 首先,我们需要理解...
这可以通过在映射文件中设置`<one-to-one>`标签或者使用Java注解`@OneToOne`来实现。 2. **共享主键关联**:两个实体类共用同一个主键,这意味着它们在数据库中实际上是同一个表的不同视图。这可以通过`@...
在`Hibernate`中,我们还可以使用注解来处理关联关系,如`@ManyToOne`, `@OneToMany`, `@OneToOne`和`@ManyToMany`,它们分别对应一对一、一对多、多对一和多对多的关系。例如,一个用户可以有多个订单,那么在订单...
在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它使得开发者能够将数据库操作与业务逻辑代码...在实际开发中,根据业务需求合理配置`@OneToOne`注解,可以提高代码的可读性和数据库操作的效率。
在Java的持久化框架Hibernate中,注解是用于对象关系映射(ORM)的重要工具,它简化了传统XML配置的方式,使代码更加简洁、易读。本篇文章将深入探讨Hibernate中注解的一对多、多对多和一对一关系映射。 ### 一对多...
2. **注解配置**:在Hibernate4中,我们可以使用注解来替代XML配置文件,简化项目结构。常见的注解包括@Entity(定义实体类)、@Table(指定表名)、@Id(主键)、@GeneratedValue(生成策略)、@Column(字段映射)...
Hibernate注解是一种元数据方式,用于在Java类和属性上声明数据库映射信息,从而避免了XML配置文件的繁琐。注解提供了一种更加简洁、直观的方式来描述实体类和它们与数据库表之间的关系。 1. **@Entity**: 表示一个...
文档内容会包括每一个注解的详细介绍、属性、适用场景和配置方式,确保开发者能够根据自己的需求选择合适的注解来构建持久层。 对于Hibernate框架本身,升级至4版本带来的变化还包括对Java新版本的支持,比如支持...
【Hibernate注解配置详解】 在Java的持久化框架中,Hibernate是一个非常重要的工具,它极大地简化了数据库操作。本文将深入探讨Hibernate的注解配置,包括实体类的注解、映射关系的定义以及事务管理等方面,帮助你...
在Hibernate 3.2版本之后,引入了注解支持,极大地减少了XML配置文件的需求,使得代码更加简洁易读。本主题将深入探讨Hibernate注解的相关知识点。 1. **注解概述**: 注解(Annotations)是Java 5引入的一种元...
### hibernate 中文注解知识点解析 #### 一、前言 - **翻译说明:** 该文档为Hibernate中文版注解文档的翻译版本,由满江红翻译团队...通过学习并掌握这些注解和配置选项,开发者可以更加高效地使用Hibernate框架。
// 使用@OneToOne注解声明与Profile的一对一关系 @OneToOne(mappedBy = "person") private Profile profile; // 其他属性和方法... } ``` 这里,`mappedBy`属性表示另一端的实体(即`Profile`)拥有外键。接...
这种映射有两种主要的实现方式:XML配置和注解配置。 **XML方式** 1. **hibernate.cfg.xml**:这是Hibernate的全局配置文件,用于配置数据源、方言、缓存等信息。 2. **实体类映射文件**:如`User.hbm.xml`,它将...
在全注解模式下,我们可以利用@Entity、@Table、@Id、@GeneratedValue等注解来定义实体类,@ManyToOne、@OneToMany、@OneToOne、@ManyToMany处理关联关系,@Column、@Temporal等注解来定制字段属性。 在这个视频...