Hibernate @ManyToMany -- 1

本文介绍了通过使用三个表格来实现多对多关系的数据库设计方法。主要涉及两个实体类Person和Bank之间的关联,通过创建一个名为person_bank的连接表来实现这种关系。此设计确保了数据的一致性和完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Class Person
@ManyToMany 
public Set<Bank> getBankSet() {
  return bankSet;
}
Table
CREATE TABLE `bank` (
  `id` varchar(32) NOT NULL,
  `createDate` datetime DEFAULT NULL,
  `modifyDate` datetime DEFAULT NULL,
  `address` varchar(255) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `person` (
  `id` varchar(32) NOT NULL,
  `createDate` datetime DEFAULT NULL,
  `modifyDate` datetime DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `person_bank` (
  `person_id` varchar(32) NOT NULL,
  `bankSet_id` varchar(32) NOT NULL,
  PRIMARY KEY (`person_id`,`bankSet_id`),
  KEY `FKE699F0E6747D6B54` (`bankSet_id`),
  KEY `FKE699F0E6F49C0E5E` (`person_id`),
  CONSTRAINT `FKE699F0E6F49C0E5E` FOREIGN KEY (`person_id`) REFERENCES `person` (`id`),
  CONSTRAINT `FKE699F0E6747D6B54` FOREIGN KEY (`bankSet_id`) REFERENCES `bank` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值