mysql - inverseJoinColumns 注释在数据库中自动创建 UK

标签 mysql spring spring-data-jpa

我按如下方式映射了我的实体:

@OneToMany(fetch = FetchType.EAGER)
@JoinTable(name = "ETAPA_TAREFA", joinColumns = {@JoinColumn(name = "ID_ETAPA", nullable = true) },
        inverseJoinColumns = { @JoinColumn(name = "ID_TAREFA", nullable = true)})
private List<Tarefa> tarefas;

但是当我将应用程序作为 Spring Boot 应用程序运行时,它会自动生成英国:

   UNIQUE KEY `UK_8wxkehubnqsaiv0yip2m6v8ka` (`ID_TAREFA`),

但我不想要它。尝试使用 nullable = true 来避免它,但没有成功。

我可以使用任何注释或 application.properties 中的某些属性来抑制英国一代吗?

我使用 mysql 作为数据库。

最佳答案

找到解决方案,问题是一对多。 我想要的正确的是@ManyToMany

关于mysql - inverseJoinColumns 注释在数据库中自动创建 UK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59934562/

相关文章:

mysql - SQL 请求无法正常工作

通过在列和行中沿两个轴(即)具有时间戳来进行 mysql 查询

java - SoapFaultMappingExceptionResolver 永远不会遇到常规 Java 异常

Spring Cloud Config 对称 key

java - 无法转换为 java.base/java.util.Optional

java - 带有外键 : Parameter not matched 的 Spring Data JPA @Query

php - 查找 MySQL 查询不工作的原因

mysql - MySQL 中是否有按索引查找的 FIND_IN_SET?

hibernate - spring data jpa一对一可选共享主键

java - findByAll()、findBy{columnName} 在 Spring data jpa 中不起作用