nutz icon indicating copy to clipboard operation
nutz copied to clipboard

要不要支持Pojo的"额外字段"

Open wendal opened this issue 6 years ago • 14 comments

public class User {
    @Id
    private int id;
    @Name
    private String name;

    private Map extra; // 例如存储count(1)等无法映射到具体属性的列
}

wendal avatar Jul 31 '17 02:07 wendal

需要

guanml avatar Jul 31 '17 09:07 guanml

理由是什么?

wendal avatar Jul 31 '17 09:07 wendal

啥意思

pangwu86 avatar Aug 01 '17 01:08 pangwu86

貌似是一些 数据库函数一类的返回值的东西 @pangwu86

Rekoe avatar Aug 01 '17 02:08 Rekoe

需要,可不可以用类似的这种方式呢? @Prev(@SQL("select name from role where id=@roleId")) private String roleName;

zicai1026 avatar Aug 02 '17 03:08 zicai1026

@zicai1026 你说这个跟本issue无关哦, 而且这种@Prev一直都是支持的

wendal avatar Aug 02 '17 05:08 wendal

@wendal 我的意思是,roleName是额外的字段,不写入表,查询的时候执行指定的sql

zicai1026 avatar Aug 02 '17 05:08 zicai1026

恩, 那是另外一个方向的问题, 某个属性映射为指定SQL的查询结果

wendal avatar Aug 02 '17 05:08 wendal

我需要我需要,我感觉这样很有必要,因为如果没有的话我还是会加属性手动查出来再赋值的,希望可以支持! @wendal

EggsBlue avatar Aug 07 '17 03:08 EggsBlue

这个属性又不是任何时候都需要的,干脆自己手动设置好了

ywjno avatar Aug 07 '17 06:08 ywjno

言语过于激情,无法展示...

EggsBlue avatar Aug 07 '17 08:08 EggsBlue

业务对象关联的数字字典 名称,属于额外的字段吗?

vincent109 avatar Aug 10 '17 03:08 vincent109

我还是觉得需要,前两天同事写了连表自定义sql,将结果as 成属性名,但是却封装不上,很是疑惑竟然是必须要加@colum注解的才能映射,我觉得有必要映射吧?

EggsBlue avatar Dec 11 '18 13:12 EggsBlue

我觉得不需要。这些扩展信息属性并不属于po对象本身,仅仅是临时查询关联其它表或汇总字段,这时完全可以用Record去临时处理。 如果要支持的话,自动建表的时候怎么处理?就算是查询的时候支持,那么如果定义的属性是 Map<String, String> extra 呢?存入的时候还得考虑类型转换

qinerg avatar Dec 13 '18 05:12 qinerg