Присоединение вторичной таблицы JPA к неправильным столбцам

#java #postgresql #jpa #spring-data-jpa

Вопрос:

Я занимаюсь проектом сервер-клиент, который должен быть похож на сайт кинотеатра. У меня есть 2 таблицы в базе данных PostgreSQL.

Это Таблица фильмов

введите описание изображения здесь

а это Таблица показов

введите описание изображения здесь

И у меня на сервере есть класс, который выглядит так

 package pwsztar.edu.pl.project_kino.dto;

import org.hibernate.annotations.ManyToAny;
import org.hibernate.annotations.Type;
import org.hibernate.annotations.TypeDef;
import javax.persistence.*;
import javax.swing.text.StyledEditorKit;
import java.sql.Time;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import com.vladmihalcea.hibernate.type.array.BooleanArrayType;
import org.hibernate.annotations.TypeDefs;

@TypeDefs({
        @TypeDef(
                name = "boolean-array",
                typeClass = BooleanArrayType.class
        )
})
@Entity
@SecondaryTable(schema = "kino" ,name ="film", pkJoinColumns = @PrimaryKeyJoinColumn(name = "idf"))
@Table(name = "seans",schema = "kino")
public class Seans{


    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id_se;
    private int id_sali;
    private int cena_zwykly;
    private int cena_vip;
    private int idf;
    private LocalDate dzien;
    private Time godzina;

    @Type(type = "boolean-array")
    @Column(name = "miejsca_zwykle",columnDefinition = "boolean[]" )
    private Boolean[] miejsca_zwykle;

    @Type(type = "boolean-array")
    @Column(name = "miejsca_vip",columnDefinition = "boolean[]")
    private Boolean[] miejsca_vip;

    @Column (name = "tytul",table = "film")
    private String tytul;

    @Column (name ="zdjecie",table = "film")
    private String zdjecie;
 

id_se в таблице «Сеансы» показывает идентификатор, а idf в таблице «Фильм» — идентификатор фильма. Когда я пытаюсь распечатать все показы, предполагается, что будут распечатаны все данные о показе заголовок и ссылка на примерную картинку фильма, но вместо этого я получаю там нули. Я думаю, что JPA выполняет ОБЪЕДИНЕНИЕ не в тех таблицах, если установить первичный ключ класса «Сеансы» как «idf», это сработает, но я не могу. Что я должен сделать, чтобы это сработало.

PS: Извините за не английские названия переменных и имен столбцов.

Правка: Это работает для первых 12 показов, но, вероятно, потому, что это количество фильмов в базе данных. Соединение, вероятно, seans.id_se = film.idf

введите описание изображения здесь

Комментарии:

1. у вас есть сеансы без фильмов? если у вас есть, то правильно иметь нулевые значения для участников фильма

2. @потрясающе 7 я не