class Foo {
@ManyToOne(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER)
@Fetch(FetchMode.JOIN)
@JoinColumn(name = "bar_key", referencedColumnName = "nat_key")
Bar bar;
}
class Bar {
@Id
@GeneratedValue
long id;
@Column(name = "nat_key", unique = true)
String key;
}