Могу ли я получить данные из нескольких таблиц без объединяемых таблиц или внешних ключей - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь получить отдельные данные из двух таблиц базы данных.Эти таблицы не имеют внешних ключей и таблиц соединений.Я использую spring-data для получения необходимых данных для первого набора данных.

У меня есть два набора данных, которые имеют общее значение String, и я хочу получить данные из обеих таблиц без использования объединяемых таблиц или внешних ключей, получаяданные из первого набора данных.

Я использую простой интерфейс DataRepository

import org.springframework.data.jpa.repository.JpaRepository;

public interface DataRepository extends JpaRepository<FirstData, Long> {

    DataService getById(Long id);

}

Объект FirstData:

@Data
@Entity
@Table(schema = "someschema", name = "firstdata")
public class FirstData {

    @Id
    @Column(name = "id")
    private Long uuid;

    @Column(name = "name")
    private String name;

    @Column(name = "type")
    private String type;

}   

Объект SecondData:

@Data
@Entity
@Table(schema = "someschema", name = "seconddata")
public class SecondData {

    @Id
    @Column(name = "id")
    private Long uuid;

    @Column(name = "type")
    private String type;

    @Column(name = "value")
    private String value;

}   

и DataService

@Service
public class DataService {

    private DataRepository dataRepository;

    public DataService(DataRepository dataRepository){
        this.dataRepository = dataRepository;
    }

    public void getBothFirstAndSecondData() {

        List<FirstData> firstDataSet = dataRepository.findAll();
    }
}

Мне нужно получить данные из обеих таблиц, но я не хочу изменять структуру таблиц, делать объединяемые или добавлять внешние ключи.Кроме того, я не хочу добавлять другой код записи репозитория во второй набор данных.Мне нужно просто иметь «значение» из второго набора данных в результате первого набора данных.Какой самый простой подход для решения такой задачи извлечения данных?

1 Ответ

0 голосов
/ 28 мая 2019

sql запрос вышеупомянутой проблемы может быть:

select value from seconddata where id IN (select id from firstdata)
...