Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate没有持久化嵌套关系_Java_Hibernate_Jpa_Persistence - Fatal编程技术网

Java Hibernate没有持久化嵌套关系

Java Hibernate没有持久化嵌套关系,java,hibernate,jpa,persistence,Java,Hibernate,Jpa,Persistence,我有4个实体:戏剧、演员、戏剧表现和类别。 每部戏剧都属于一个类别,戏剧表现将一部戏剧与一个剧院以及给定时间内的许多演员相关联。 以下是实体: @Entity @Table(name = "category") public class Category { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private int id; @Colu

我有4个实体:戏剧、演员、戏剧表现和类别。 每部戏剧都属于一个类别,戏剧表现将一部戏剧与一个剧院以及给定时间内的许多演员相关联。 以下是实体:

@Entity
@Table(name = "category")
public class Category {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private int id;

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

    @OneToMany(mappedBy="category")
    private List<Play> playList = new ArrayList<Play>();


我不需要地图,这实际上是一个打字错误——我写的是“剧本表现”类别,而不是“剧本表现”演员。很蠢吧?至少我终于找到了:)

错误信息是?!你的ManyToMany是双向的,但是你还没有把
mappedBy
放到链接它们的位置。如果这种关系是双向的,你确实需要一个mappedBy。否则它是两个独立的关系,你以后会遇到问题好的,我会检查一下!谢谢
@Entity
@Table(name = "actor")
public class Actor {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private long id;

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

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

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

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

    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(name = "play_representation_category",
            joinColumns = {@JoinColumn(name = "actor_id")},
            inverseJoinColumns = {@JoinColumn(name = "play_representation_id")})
    private Set<PlayRepresentation> playRepresentations = new HashSet<>(0);
@Entity
@Table(name = "play")
public class Play {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private int id;

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

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

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

    @NotNull
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    private Category category;
@Entity
@Table(name = "play_representation")
public class PlayRepresentation {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private int id;

    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "play_id")
    private Play play;

    @OneToOne
    @JoinColumn(name = "theater_id")
    private Theater theater;

    @Column(name = "date")
    private Timestamp airingDate;

    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(name = "play_representation_category",
            joinColumns = {@JoinColumn(name = "play_representation_id", nullable=false)},
            inverseJoinColumns = {@JoinColumn(name = "actor_id", nullable=false)})
    private Set<Actor> actors = new HashSet<>(0);
org.postgresql.util.PSQLException: ERROR: relation "play_representation_category" does not exist
  Position: 281