`
jzkangta
  • 浏览: 160483 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JPA入门(三)双向一对一

JPA 
阅读更多
package org.jzkangta.onetoone;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
/**
 * 选择了Person是关系维护端,所以Person为负责外键的更新
 * @author Administrator
 *
 */
@Entity
public class Person {

	@Id
	@GeneratedValue
	private int id;
	
	@Column(nullable=false)
	private String name;
	
	@OneToOne(cascade=CascadeType.ALL,optional=false)
	@JoinColumn(name="idCard_id") //关系维护端设置外键
	private IDCard idCard;
	
	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;
    }
	public IDCard getIdCard() {
    	return idCard;
    }
	public void setIdCard( IDCard idCard ) {
    	this.idCard = idCard;
    }
	
}


package org.jzkangta.onetoone;

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

@Entity
public class IDCard {

	@Id
	@GeneratedValue
	private int id;
	
	@Column(length=18,nullable=false)
	private String idNumber;
	
	@OneToOne(mappedBy="idCard",cascade={CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},optional=false,fetch=FetchType.EAGER)//被维护端,idCard为维护端里的属性,optional=false不允许为null
	private Person person;
	
	
	public int getId() {
    	return id;
    }
	public void setId( int id ) {
    	this.id = id;
    }
	public String getIdNumber() {
    	return idNumber;
    }
	public void setIdNumber( String idNumber ) {
    	this.idNumber = idNumber;
    }
	public Person getPerson() {
    	return person;
    }
	public void setPerson( Person person ) {
    	this.person = person;
    }
	
}


分享到:
评论

相关推荐

    JPA.rar_jpa

    3. **实体关系(Entity Relationships)**:JPA支持多种关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany),这些关系可以是单向或双向的。 4. **持久化上下文...

    Getting Started with JPA

    `@OneToOne` 和 `@OneToMany` 分别表示一对一和一对多的关系。特别地,在双向关联中,只需要在一方的表中设置外键即可管理双方的关系。没有外键的那一方需要在其关系注解中指定 `mappedBy` 属性,以指明关联字段。 ...

    Spring boot(一): 入门篇.rar_springboot

    Spring Boot 提供对 WebSocket 的支持,可以用来实现双向通信,如聊天应用或实时推送。 6. **错误处理**: 自定义错误页面和全局异常处理器是 Web 开发中常见的需求,Spring Boot 提供了优雅的方式来定义这些。 ...

    JSF入门.doc

    在《JSF入门》这本书中,我们将深入探讨JSF的基础知识,帮助初学者快速掌握这一技术。 JSF的核心概念包括以下几个方面: 1. **组件模型**:JSF的组件模型允许开发者使用预定义的UI组件,如按钮、文本框、表格等,...

    JSF框架使用入门

    8. **JSF与Java EE集成**:作为Java EE的一部分,JSF可以无缝集成其他Java EE技术,如EJB、JPA和CDI,这使得开发者能构建出完整的、企业级的Web应用。 9. **学习资源**:提供的文件"JSF框架使用入门.avi"可能是一个...

    JSF入门文档资料,是PDF文档

    这篇JSF入门文档资料,以PDF格式提供,对于初学者来说,是一份非常宝贵的资源,可以帮助理解并掌握JSF的基础知识和核心概念。 首先,JSF的核心理念是简化Web开发,通过提供组件化的方式来构建用户界面。它包含了一...

    jee 入门(深入浅出学习JEE)

    Hibernate是一个流行的JPA实现,提供了更丰富的功能和更高的性能。 4. **JSF(JavaServer Faces)**:JSF是一种MVC(模型-视图-控制器)框架,简化了创建用户界面的过程。它包含UI组件、事件处理和数据绑定等功能。...

    Spring入门,精通,使用指导

    6. **数据访问集成**:包括JDBC模板、ORM框架集成(如Hibernate、MyBatis),以及Spring Data JPA等,简化数据库操作。 7. **Spring Boot**:Spring的现代启动器,用于快速构建独立的、生产级别的基于Spring的应用...

    Spring Boot 简单Demo

    **Spring Boot 简单Demo** 是一个针对初学者的入门级项目,旨在帮助开发者快速理解和实践Spring Boot的核心特性。这个Demo涵盖了多个关键模块,包括JPA(Java Persistence API)、Cache缓存管理、MyBatis持久层框架...

    java 开发文档

    4. **EXTJS**:`ext从入门到精通.pdf` 和 `ExtJS实用开发指南.pdf` 提及EXTJS,这是一个用于构建富客户端Web应用的JavaScript库。EXTJS提供了丰富的组件和布局管理,使得开发者可以创建功能强大的桌面式Web界面。 5...

    J2EE+API5.0简体中文版

    4. **JPA(Java Persistence API)2.0**:提供了更好的对象关系映射(ORM)支持,增强了查询语言JPA QL,以及对双向关系、多对多关联和继承的支持。 5. **JMS 1.1**:更新了消息传递服务,增加了对持久订阅和事务性...

    springboot学习项目

    5. **Spring Data JPA**:Spring Boot与Spring Data JPA结合,可以方便地实现对关系型数据库的CRUD操作,支持ORM映射,如Hibernate。 6. **Thymeleaf/FreeMarker 模板引擎**:Spring Boot可以与Thymeleaf或...

    Spring 常见面试题

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

    JavaEE7 Tutorial

    4. **Java Persistence API (JPA) 2.1**:JPA允许开发者在Java应用中轻松管理和持久化对象,2.1版本引入了特性如动态列映射、存储过程调用,以及对多租户架构的支持。 5. **Java Message Service (JMS) 2.0**:JMS ...

    Oracle.The_Java_EE_6_Tutorial

    《Oracle.The Java EE 6 Tutorial》是一本...这本书不仅适合初学者入门,也对有经验的开发者在复习和深化Java EE知识时大有裨益。无论是想要构建高效的企业应用,还是希望提升自身技术能力,这都是不可或缺的参考资料。

    Java_EE_6.0_API_DOC

    1. **简化开发**:通过引入轻量级的Web Profile,Java EE 6.0降低了入门门槛。Web Profile仅包含了开发大多数Web应用所需的核心服务,如Servlet、JSP、JSF、CDI、JPA和EJB 3.1 Lite。 2. **依赖注入(Dependency ...

    Java_EE_6规范中文版和英文版

    8. **WebSocket支持**:虽然Java EE 6本身不直接支持WebSocket,但在后续的Java EE 7中引入了WebSocket API,不过在Java EE 6规范中,开发者已经开始关注这一新兴的双向通信技术。 9. **注解驱动开发**:Java EE 6...

    Spring Boot面试题(2022最新版)-重点

    - **易于上手:** 提供了一个快速、广泛的入门体验,使开发者能够迅速掌握 Spring 的使用方法。 - **开箱即用:** 减少了大量的手动配置工作,简化了项目搭建的过程。 - **内置功能:** 集成了多种大型项目所需的非...

    j2ee的课件 这就是你要的资源!

    6. **JDBC(Java Database Connectivity)**:虽然JPA提供了一种更高级的数据库访问方式,但了解JDBC仍然是必要的,因为它是最底层的数据库连接API。 7. **JNDI(Java Naming and Directory Interface)**:JNDI为...

Global site tag (gtag.js) - Google Analytics