@OneToMany具有独特元素的单向

时间:2017-06-09 23:23:29

标签: jpa one-to-many

我有两个实体 -

@Entity
class Task {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
}

@Entity
class TaskGroup {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @OneToMany
    private List<Task> tasks=new ArrayList<>();
}

正如您所看到的,这种关系是单向的。我想要的是 -

  • 没有联接表
  • TaskList上的任务应该是唯一的。
  • 我希望在TaskList表上创建映射列。任务表不应该对这种关系有任何线索。

有人能告诉我怎么能实现这个目标吗?

我正在使用最新的JPA和Hibernate。

1 个答案:

答案 0 :(得分:0)

我不认为jpa可以在没有连接表的情况下处理这个问题。

实际上我认为即使jpa可以在对象中处理这种行为。

您应该覆盖Task的equals和hashcode方法,并将List更改为在TaskGroup中设置。

或者您可以查看TaskGroup的@PrePersist和@PreUpdate方法中的列表。