单独设置
@OneToOne
@JoinColumn(name = "material_type_id", foreignKey = @ForeignKey(name = "null", value = ConstraintMode.NO_CONSTRAINT))
private SysMaterialType materialType;
@ManyToOne
@JoinColumn(name = "material_type_id", foreignKey = @ForeignKey(name = "null", value = ConstraintMode.NO_CONSTRAINT))
private SysMaterialType materialType;
全局设置
spring:
jpa:
database-platform: com.iotinall.canteen.common.jpa.dialect.MySQL8WithoutFKDialect
hibernate:
ddl-auto: update
naming:
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
show-sql: true
open-in-view: true
package com.iotinall.canteen.common.jpa.dialect;
import org.hibernate.dialect.InnoDBStorageEngine;
import org.hibernate.dialect.MySQL8Dialect;
import org.hibernate.dialect.MySQLStorageEngine;
public class MySQL8WithoutFKDialect extends MySQL8Dialect {
@Override
protected MySQLStorageEngine getDefaultMySQLStorageEngine() {
return InnoDBStorageEngine.INSTANCE;
}
@Override
public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey) {
return "";
}
}