关于java对于DO对象类的使用

看了网上对于DO, DTO ,VO的介绍。
有一个关于DO的疑问。
网上博客说DO是表对应的实体类,
DAO层查出来的结果对象封装为DO,
如果是连表查询,那么结果就不可能是原先一张表对应的DO,这个该怎么处理。
例子如下:
库里有两张表,
用户表user:
id
userid
name
age

用户记录表user_log:
id
logid
userid
date

分别对应两个DO

public class UserDO{
    private int id;
    private String userid;
    private String name;
    private int age;
}
public class UserLogDO{
    private int id;
    private String logid;
    private String userid;
    private Date date;
}

如果单单只查询一个张表,那么单独用一个DO完全OK。
但是如果要连表查询,查询结果为两个张表中的字段,userid,name,date。
那么此时用任何一个DO来接收都有问题。
该怎么解决?
是在UserDO中增加一个date对象,然后用UserDO来接收么。

public class UserDO{
    private int id;
    private String userid;
    private String name;
    private int age;
    private Date date;
}
阅读 2.6k
1 个回答

两种处理方式:

  1. 单张表查询,获取到两个结果集之后在service层用代码逻辑构建你要的数据。
  2. 创建一个新的对象,来接收你的联表查询结果集。

一般不会对数据库表对应的实体类做修改。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题