@Entity
@Table(name = "bar")
public class Bar {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long id;
@OneToMany(mappedBy = "bar")
private List<FooBar> fooBars;
}
@Entity
@Table(name = "foo")
public class Foo {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long id;
@ManyToMany(mappedBy = "foo", cascade = CascadeType.ALL)
private List<FooBar> fooBars;
}
@Entity
@Table(name = "foo_bar")
public class FooBar {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
private Bar bar;
@ManyToOne(fetch = FetchType.LAZY)
private Foo foo;
private String note;
@PrePersist
void prePersist(){
setNote("XXXXX");
}
}