Hibernate не создает внешний ключ в таблицах в двунаправленном отношении один к одному

Это мои занятия:

@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;

}

Когда я запускаю приложение для создания таблицы, в create table, но не создает внешние ключи в app_customersand app_address.

1 ответ