表与表关联 一对一

1...表与表之间的关系

一对一: A   B  两张表  A表中的每条的记录对应的B的一条记录

   :一对一关系实现方式:

         1:使用外键关联 

    :  场景:使用客户表和客户拓展表 

    :在属性上 添加一个@OneToOne代表一个对一个的关系    在属性上添加@JoinColumn​ name 存储外键的字段     referencedColumnNm 对方表的字段名称 (可以省略)

         2:使用主键关联,两个表  A  B 的主键相同。

   : 使用@PrimaryKeyJoinColumn 注解不需要配置属性   ​双方都需要添加

一对多: A   B  两张表  A表中的每条的记录对应B表中多条的记录    B表中多条的记录对应A表中一条记录

   :场景:客户和联系人之间 一对多       ​ 一个客户对应多个联系人

   :单方:1  添加一个属性 记录多的一方的信息  应该是一个集合 hashset    2  在属性上添加一个注解  @OneToMany      3一定是多的一方记录外键   参照一的一方的主键

   :多方:1  在属性上添加 注解   @ManyToOne   2   在属性上添加 @joinColumn 注解

多对多: A   B  两张表    A表中的每条的记录对应B表中多条的记录      B表中的每条记录对应A表中的多条记录

   :后面补充,

 

具体实现 简单例子:

1....pom.xml 配置

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <project xmlns="http://maven.apache.org/POM/4.0.0"
  3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5     <modelVersion>4.0.0</modelVersion>
  6 
  7     <groupId>com.wsc</groupId>
  8     <artifactId>oneToOne</artifactId>
  9     <version>1.0-SNAPSHOT</version>
 10 
 11 
 12     <properties>
 13         <spring.version>4.2.4.RELEASE</spring.version>
 14         <hibernate.version>5.0.7.Final</hibernate.version>
 15         <slf4j.version>1.6.6</slf4j.version>
 16         <log4j.version>1.2.12</log4j.version>
 17         <c3p0.version>0.9.1.2</c3p0.version>
 18         <mysql.version>5.1.6</mysql.version>
 19         <maven.compiler.source>1.8</maven.compiler.source>
 20         <maven.compiler.target>1.8</maven.compiler.target>
 21     </properties>
 22     <dependencies>
 23         <dependency>
 24             <groupId>junit</groupId>
 25             <artifactId>junit</artifactId>
 26             <version>4.12</version>
 27             <scope>test</scope>
 28         </dependency>
 29         <!--spring start-->
 30         <dependency>
 31             <groupId>org.aspectj</groupId>
 32             <artifactId>aspectjweaver</artifactId>
 33             <version>1.6.8</version>
 34         </dependency>
 35         <dependency>
 36             <groupId>org.springframework</groupId>
 37             <artifactId>spring-aop</artifactId>
 38             <version>${spring.version}</version>
 39         </dependency>
 40         <dependency>
 41             <groupId>org.springframework</groupId>
 42             <artifactId>spring-context</artifactId>
 43             <version>${spring.version}</version>
 44         </dependency>
 45         <dependency>
 46             <groupId>org.springframework</groupId>
 47             <artifactId>spring-context-support</artifactId>
 48             <version>${spring.version}</version>
 49         </dependency>
 50         <dependency>
 51             <groupId>org.springframework</groupId>
 52             <artifactId>spring-orm</artifactId>
 53             <version>${spring.version}</version>
 54         </dependency>
 55         <dependency>
 56             <groupId>org.springframework</groupId>
 57             <artifactId>spring-beans</artifactId>
 58             <version>${spring.version}</version>
 59         </dependency>
 60         <dependency>
 61             <groupId>org.springframework</groupId>
 62             <artifactId>spring-core</artifactId>
 63             <version>${spring.version}</version>
 64         </dependency>
 65         <!--spring end-->
 66         <!--hibernate start-->
 67         <dependency>
 68             <groupId>org.hibernate</groupId>
 69             <artifactId>hibernate-core</artifactId>
 70             <version>${hibernate.version}</version>
 71         </dependency>
 72         <dependency>
 73             <groupId>org.hibernate</groupId>
 74             <artifactId>hibernate-entitymanager</artifactId>
 75             <version>${hibernate.version}</version>
 76         </dependency>
 77         <dependency>
 78             <groupId>org.hibernate</groupId>
 79             <artifactId>hibernate-validator</artifactId>
 80             <version>5.2.1.Final</version>
 81         </dependency>
 82         <!--hibernate end-->
 83         <dependency>
 84             <groupId>c3p0</groupId>
 85             <artifactId>c3p0</artifactId>
 86             <version>${c3p0.version}</version>
 87         </dependency>
 88         <dependency>
 89             <groupId>log4j</groupId>
 90             <artifactId>log4j</artifactId>
 91             <version>${log4j.version}</version>
 92         </dependency>
 93         <dependency>
 94             <groupId>org.slf4j</groupId>
 95             <artifactId>slf4j-api</artifactId>
 96             <version>${slf4j.version}</version>
 97         </dependency>
 98         <dependency>
 99             <groupId>org.slf4j</groupId>
100             <artifactId>slf4j-log4j12</artifactId>
101             <version>${slf4j.version}</version>
102         </dependency>
103         <dependency>
104             <groupId>mysql</groupId>
105             <artifactId>mysql-connector-java</artifactId>
106             <version>${mysql.version}</version>
107         </dependency>
108         <dependency>
109             <groupId>org.springframework.data</groupId>
110             <artifactId>spring-data-jpa</artifactId>
111             <version>1.9.0.RELEASE</version>
112         </dependency>
113         <dependency>
114             <groupId>org.springframework</groupId>
115             <artifactId>spring-test</artifactId>
116             <version>4.2.4.RELEASE</version>
117         </dependency>
118         <dependency>
119             <groupId>javax.el</groupId>
120             <artifactId>javax.el-api</artifactId>
121             <version>2.2.4</version>
122         </dependency>
123         <dependency>
124             <groupId>org.glassfish.web</groupId>
125             <artifactId>javax.el</artifactId>
126             <version>2.2.4</version>
127         </dependency>
128     </dependencies>
129 </project>
pom.xml

2...applicationContext.xml 配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
 4        xmlns:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值