我想使用 Spring Boot 创建具有额外列的多对多关系。 (示例:“UserRole”表有额外的“assignedAt”日期字段。) 例如,有3个表“User”、“Role”和“UserRole”。如果“userId=1”和“roleId=1”等记录已经添加到“UserRole”表中,我希望不再添加具有相同id值的记录,因为角色已经分配给用户。我们如何在 Spring 中创建实体来构建这个结构?
我寻找了一些例子,但我很困惑。您能给我举个例子或澄清一下吗?
您不能在 Hibernate 中执行此操作。在 JPA 中你不能这样做。您可以创建一个中间件表,该表与 n-m 关系的每一侧都有 1-n 关系。但这不是n-m关系。
n-m 关系是。
类似于分配给 n-m 关系的唯一方法是使用 Hibernate-Envers-Audit-plugin,这可能有点过头了,但 n-m 表仍然有 2 个字段。