java - 使用JPA时如何使主表的JOIN列不是主表的主键@SecondaryTable
问题描述
所以我在 PostgreSQL 数据库中有 2 个表。它们包含一些电影院的数据。第一个称为 Showings,其中包含放映数据,第二个称为 Movie,其中包含电影数据,我想打印出 Showing 的所有数据以及 Movie 列中的 2 列(链接到图片和标题)
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 = "cinema" ,name ="movie", pkJoinColumns = @PrimaryKeyJoinColumn(name = "movie_id"))
@Table(name = "showing",schema = "cinema")
public class Showing{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int showing_id;
private int hall_id;
private int price_normal;
private int price_vip;
private int movie_id;
private LocalDate day;
private Time hour;
@Type(type = "boolean-array")
@Column(name = "normal_seats",columnDefinition = "boolean[]" )
private Boolean[] normal_seats;
@Type(type = "boolean-array")
@Column(name = "vip_seats",columnDefinition = "boolean[]")
private Boolean[] vip_seats;
@Column (name = "tittle",table = "movie")
private String tittle;
@Column (name ="picture",table = "movie")
private String picture;
但是,当我尝试打印放映数据时,我得到了所有放映数据,但图片和标题为空,只要 movieID 等于 ShowingID,我就会得到数据(我在数据库中有 12 部电影和 26 放映,我没有前 12 场放映为空),这可能是因为加入类似于“JOIN onshowing.movie_id=movie.movie_ID”。而且我显然希望它加入movie_ID。我能做些什么来完成这项工作?
解决方案
推荐阅读
- python - 无法在 Selenium 的无头模式下使用 xpath
- laravel - AWS 测试 SES 的延迟交付 SNS 响应
- javascript - 如何在复选框更改时选择 ul>li 并触发更改 ul?
- r - R:如何使用函数写入数据框列
- c# - 如何防止 Firebase 实时数据库阻止 VPN 连接?
- reactjs - React 刷新页面或返回上一个 url(除了 home '/' 路由)不起作用
- maven - 如何在 io.cucumber.core.cli.Main.main 方法中包含 ExtendedCucumberOptions 并重新运行失败的场景
- python - 使用 for 循环在字符串中添加单词
- spring-boot - Springboot RequestMapping 值和路径解析不存在的 EL 占位符
- android - 如何在 Room 中处理这种嵌套关系?