项目结构
- fumao-app
- fumao-common
- fumao-company
- fumao-system
- fumao-service
- controller里面调用, 聚合其他几个模块的代码
jpa相关
快速查询
@QueryItem(type = QueryType.Eq) 等等
用于快速开发查询接口
QueryBuilder.build(条件对象) 返回 Predicate 可交给SpringData 查询
非外键原则
@Fetch(FetchMode.JOIN)
@ManyToOne()
@JoinColumn(name = "本实体ID", referencedColumnName = "关联ID", insertable = false, updatable = false, foreignKey = @ForeignKey(name = "none", value = ConstraintMode.NO_CONSTRAINT))
@NotFound(action=NotFoundAction.IGNORE)
权限
使用spring security
- 配置项
- 过滤器
- 注解
- PreAuthorize(AuthRoles.xxxExp)
- 使用
- 实现LoginUser接口
- 调用JwtUtils.encode
- 方法或者类上面加PreAuthorize注解
- 动态角色实现 AccessDecisionManager 接口
集团实例
新建集团的时候会手动跑Flyway方法, 创建一个新实例