我有一个简单的问题。如何为@ ManyToOne注释产生的外键关系命名?
答案 0 :(得分:4)
从JPA 2.1开始,可以通过@ForeignKey注释定义外键。
不幸的是,如果您只需要更改名称,它就不是很有用。如果指定FK的自定义名称,则还必须指定FK的SQL定义。这至少是它在EclipseLink 2.5.0中的工作方式。
答案 1 :(得分:3)
如果您对命名外键中使用的列感兴趣,可以使用@JoinColumn
注释和@ManyToOne
注释指定用于创建外键的列的名称。 JPA提供程序使用name
注释的@JoinColumn
属性的值将表中的列名映射到实体的属性。
但是,无法配置自身创建的外键约束的名称。在编写本文时,无法使用OR映射文件中的JPA注释或配置参数指定外键约束的名称。如果需要更改外键约束的名称,则必须自己创建DDL语句,而不是依赖JPA提供程序来执行此操作。
答案 2 :(得分:0)
我认为@ForeignKey不能与@JoinTables合作,或者我不知道如何设置自定义名称,我已经在@ JoinTable-> foreignKey和@ JoinColumn-> foreignKey上尝试过了