在Hibernate中更改外键的生成名称

@OneToOne()

@JoinColumn(name="vehicle_id", referencedColumnName="vehicleId")

public Vehicle getVehicle() {

return vehicle;

}

我的UserDetails类与Entitity类Vehicle具有一对一的映射。Hibernate创建2个表并分配一个通用外键,该键将vehicle_id列(UserDetails表)映射到主键vehicleId(Vehicle表)。

KEY FKB7C889CEAF42C7A1 (vehicle_id),

CONSTRAINT FKB7C889CEAF42C7A1 FOREIGN KEY (vehicle_id) REFERENCES vehicle (vehicleId)

我的问题是:如何将生成的外键更改为有意义的内容,例如Fk_userdetails_vehicle。

回答:

从JPA 2.1开始,您可以使用@

javax.persistence.ForeignKey批注:

@OneToOne()

@JoinColumn(name="vehicle_id", referencedColumnName="vehicleId", foreignKey=@ForeignKey(name = "Fk_userdetails_vehicle"))

public Vehicle getVehicle() {

return vehicle;

}

在JPA 2.1之前,您可以使用Hibernate的@

org.hibernate.annotations.ForeignKey注释,但是现在不建议使用:

@OneToOne()

@JoinColumn(name="vehicle_id", referencedColumnName="vehicleId")

@ForeignKey(name="Fk_userdetails_vehicle")

public Vehicle getVehicle() {

return vehicle;

}

以上是 在Hibernate中更改外键的生成名称 的全部内容, 来源链接: utcz.com/qa/405938.html

回到顶部