我想加入两个模型,都使用org.hibernate.id.UUIDGenerator作为主键。 但是在启动时,出现以下错误:
org.hibernate.tool.schema.spi.CommandacceptanceException:错误 执行“ DDL”更改表user_role添加约束 FK5scdquo6f12cpstqai86x4biw外键(roles_role_id)参考 角色(role_id)”通过JDBC语句
你知道吗,我在做错什么?
我的代码:
用户模型:
bsoncxx::value
角色模型:
@Entity
@Table
public class User implements Serializable {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2",strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "user_id",columnDefinition = "VARCHAR(255)")
private String userId;
@Column(name = "name")
private String name;
@JoinTable(name = "user_role",joinColumns = @JoinColumn(name = "userId"),inverseJoinColumns = @JoinColumn(name = "roleId"))
@ManyToMany
private List<Role> roles;
public User(){
this.roles = new ArrayList<>();
}
// Getter & Setter
}
用户DAO:
@Entity
@Table
public class Role implements Serializable {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2",strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "role_id",columnDefinition = "VARCHAR(255)")
private String roleId;
@Column(name = "role_name")
private String name;
@Column(name = "description")
private String description;
@ManyToMany(mappedBy = "roles")
private List<User> users;
public Role(){
this.users = new ArrayList<>();
}
// Getter & Setter
}
角色DAO:
public interface UserDAO extends JpaRepository<User,String > {
}