hibernate多租户,表级别的隔离,如何才能不在业务代码中逐个写租户Id?
时间: 2020-07-12来源:博客园
前景提要
hibernate多租户,表级别的隔离,如何才能不在业务代码中逐个写租户Id?
0 悬赏园豆: 10 [待解决问题] 每个表都强制加tenant_id这个字段 @PostMapping public void CreateSchool(@RequestBody SchoolDto schoolDto) { School school = new School(); school.setName(schoolDto.getName()); school.setTenantId(1);//因为每个表都有这个字段,还需要在业务代码里逐个写,感觉很不优雅 schoolRepository.save(school); }
以下是实体类 @Entity @Table(name = "sc_school") @Getter @Setter public class School extends BaseEntity { @Column(name = "name") public String name; }
下面是基类 @MappedSuperclass @Getter @Setter public class BaseEntity implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) protected Long id; @Column(name = "tenant_id") protected Integer tenantId;//租户id,所有表都有这个字段 @Column(name = "create_time") protected Date createTime; }
需要实现写增删改查业务代码的时候,不需要去考虑这个租户id,需要在某个地方获取前端请求的header里的租户Id,然后自动加上这部分的处理。 java hibernate 多租户 ludi | 初学一级 | 园豆: 8
提问于:2020-07-12 10:44 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题

清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行