[关闭]
@windwolf 2020-05-20T03:00:47.000000Z 字数 2742 阅读 461

Sailing 之 设计规范及风格

Sailing


说明

以下条目都有一个要求等级. 要求等级分两种: 必须, 建议. 意思就是字面意思, 不解释了.

规则

命名

模块

模块ID和模块名称保持一致, 都采用中文名称.

实体

数据库

单据, 资源等的实体设计

业务命名约定

数据库

FieldType 实体字段类型 数据库类型 备注
string50 String 或者 枚举 nvarchar(50) 如果是枚举类型, 加上@Enumerated(EnumType.STRING)
string255 String nvarchar(255)
string512 String nvarchar(512)
string1024 String nvarchar(1024)
text String nvarchar(MAX)
decimal2 BigDecimal decimal(14, 2)
decimal3 BigDecimal decimal(15, 3)
decimal4 BigDecimal decimal(16, 4)
decimal5 BigDecimal decimal(17, 5)
decimal6 BigDecimal decimal(18, 6)
decimal7 BigDecimal decimal(19, 7)
decimal8 BigDecimal decimal(20, 8)
decimal9 BigDecimal decimal(21, 9)
decimal10 BigDecimal decimal(22, 10)
bool Boolean nchar(1) 实体字段加上@Convert(converter = BooleanToYNCharConverter.class)
id Long bigint
integer Integer int
datetime LocalDateTime datetime
date LocalDate datetime
version Long bigint 由框架维护
blob Byte[] varbinary(MAX) 加上@Lob, 强烈建议加上@Basic(fetch = FetchType.lazy)
idRef Long bigint 主要用于没有直接建立外键关系, 但需要表达外键的含义的实体字段
codeRef String nvarchar(50) 主要用于没有直接建立外键关系, 但需要表达外键的含义的实体字段

- 建议 不要依赖Spring Data的表结构自动生成, 此自动生成机制十分保守, 多数情况下, 对数据库的更改无能为力. 如果, 希望框架能在第一次生成中产生正确的表结构, 那么必须加上@Column(columnDefinition = 'XXX')
- 必须 业务含义上不为空的字段, 在数据库中加上不为空, 在实体字段上加上@Basic(optional = false). 此举是为了提高索引效率

基础代码

Cache的用法

组件生命周期

canCreate

onOpen

onActivate

onFlush

onRefresh

在Tag页右键菜单点击刷新后出发, 切换抬头后也会触发

canDeactivate

onDeactivate

canClose

onClose

其他

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注