开启一个新项目,本来想用 Spring JPA,但是发现取列表数据这种场景很麻烦,请教一下大家,感谢
1
est 2019-05-02 21:05:57 +08:00 via Android
还得考虑多语言问题
|
3
learnshare 2019-05-02 21:08:50 +08:00 1
@yuandfish 多语言讲的是国际化和本地化,不是开发语言
|
4
wc951 2019-05-02 21:11:31 +08:00 via Android
jpa 支持枚举字段啊
|
5
yuandfish OP @learnshare 哦哦,那些暂时不考虑
|
7
passerbytiny 2019-05-02 22:18:15 +08:00 via Android
枚举也罢,代码也罢,中文也罢,数据库中存得都是它的抽象,不是实际显示。怎么显示,应该是前端或视图层考虑的事。
|
8
yuandfish OP @passerbytiny 因为 js 部分我也写,所以不得不想出一个简便的办法
|
9
araaaa 2019-05-02 23:48:30 +08:00 via iPhone
我们用数据字典,对应数据全从 redis 拿
|
10
Allianzcortex 2019-05-03 00:04:58 +08:00
如果前端不做处理的话,可不可以考虑后端用一个表存储数字与性别对应关系(gender_relationship {0 : female , 1 : male}),根据 model 再定义一个 DTO,查询的时候原表与关系表 join 一下直接返回的 DTO 就是在前端展示的数据。用 redis 存储查询会快但写起来复杂些。
|
11
yuandfish OP @Allianzcortex 这样的话那就要定义很多个只有固定几行的表了,以及定义多个 DTO,代码编写上略繁琐
|
12
cyspy 2019-05-03 10:40:45 +08:00
这种事应该交给前端部分来做。不要怕麻烦,你现在可能只想在列表里显示男女,下次可能变成了男性女性,再下次可能是英文或者符号,即使硬编码也比用维度表 JOIN 好
|
13
Allianzcortex 2019-05-03 20:03:48 +08:00 via iPhone
@cyspy 维度表 join 也可以随时更改对外显示的字段,本质上还是外部配置文件呀
|
14
cyspy 2019-05-03 22:02:38 +08:00
@Allianzcortex 如果两种不同的显示方式同时出现的话,需要维度表加字段+改代码,不如直接代码做了。另外 JOIN 很多个表的话我不太信任 MySQL 的优化能力
|
15
limuyan44 2019-05-04 03:28:04 +08:00 via Android
前端翻一下就好了啊
|
16
oneisall8955 2019-05-07 22:34:10 +08:00 via Android
1,枚举+修改序列化将含义也序列化到 json
2,枚举+前端转义 |
17
yuandfish OP @oneisall8955 嗯,目前采用了第一种方式
|
18
eefnrowe 2019-05-23 17:22:27 +08:00
以我的经验都是枚举转换, 至于给出的结果是 code 还是中文, 可以根据接口分, 比如 1 接口 VO 是返回 code, 2 接口 VO 是返回中文
|