首页 > 解决方案 > 使用内连接和左外连接连接实体

问题描述

我有 2 个实体和一个 DTO

Entity
@Table(name = "A")
class A
{

private String idA;

private String businessLine;

private String name1;

private String name2;

private String name3;

private String name4;


private String date;

private String city;
}


@Entity
@Table(name = "B")
class B
{

private String idb;

private String businessLine;

private String name1;

private String name2;

private String name3;

private String name4;


private String street;

private String zip;
}

没有将实体 A 连接到 B 的简单方法。

如果 businessLine='USA' 然后在 businessLine 和 name1 上将实体 A 与实体 B 连接起来以获得单个对象(行)(左外连接,即 A 的所有行)

如果 businessLine='JPN' 则在 businessLine 和 name2 上将实体 A 与实体 B 连接以获得单个对象(行)(左外连接,即 A 的所有行)

如果 businessLine='GER' 然后在 businessLine 和 name3 上将实体 A 与实体 B 连接起来以获得单个对象(行)(左外连接,即 A 的所有行)

如果 businessLine='IND' 则仅从实体 A 获取数据

如果 businessLine='CHN' 则仅从实体 B 获取数据

List<A> a = aDataRepository.findByBusinessLine(businessLine);
List<B> b =bDataRepository.findByBusinessLine(businessLine);

如何根据我通过的 busilessLine 形成 A 和实体 B 的一个对象并将其设置为 DTO

标签: springspring-bootdto

解决方案


推荐阅读