0
内のテーブルの外部キーを作成しません:Hibernateはこれらが私のクラスである双方向の1対1の関係
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseEntity<T> implements Serializable {
@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
private T id;
}
@Entity
@Table(name = "core_users")
@Inheritance(strategy = InheritanceType.JOINED)
public class User extends BaseEntity<Long> implements UserDetails {
}
@Entity
@Table(name = "app_customers")
public class BaseCustomer extends User {
@OneToOne(mappedBy = "owner", cascade = CascadeType.ALL)
private Address address;
}
@Entity
@Table(name = "app_address")
public class Address extends BaseEntity<Long> {
@Id
@Column(name = "id", unique = true, nullable = false)
@GeneratedValue(generator = "gen")
@GenericGenerator(name = "gen", strategy = "foreign", parameters = @Parameter(name = "property", value = "owner"))
private Long id;
@OneToOne
@PrimaryKeyJoinColumn
private BaseCustomer owner;
}
私はテーブルを作成するためのアプリケーションを起動すると、中にテーブルを作成しますが、中に外部キーを作成しません。 app_customers
およびapp_address
である。