gpt4 book ai didi

java - 如何为具有 n :m relationship and multiple primary keys 的 MySQL 数据库表配置实体类

转载 作者:行者123 更新时间:2023-11-29 06:31:20 25 4
gpt4 key购买 nike

当我运行 spring boot 项目时,出现以下错误“调用 init 方法失败;嵌套异常为 org.hibernate.AnnotationException:没有为实体指定标识符:”

我还有一些其他具有多个主键和外键的类,但它们没有运行错误。

import javax.persistence.*;

@Entity
@Table(name="roles_has_features")
public class RoleFeatures {


@Column(name = "role_id_fk")
private Long roleIdFk;


@Column(name = "feature_id_fk")
private Long featureIdFk;



public Long getRoleIdFk() { return roleIdFk; }

public void setRoleIdFk(Long roleIdFk) { this.roleIdFk = roleIdFk; }

public Long getFeatureIdFk() { return featureIdFk; }

public void setFeatureIdFk(Long featureIdFk) { this.featureIdFk = featureIdFk; }


}

最佳答案

这其实与Spring无关。这是 Hibernate 抛出的错误,因为 JPA 规范要求每个实体都有一个 Identity。至于您的情况,我不建议创建一个单独的实体,因为据我从您的列名称了解,它只是角色和功能表之间关系的映射。我建议使用 JPA 多对多关系。看一下 @ManyToMany@JoinTable 注释。

这对我来说也是一个非常好的教程

Hibernate – Many-to-Many example

关于java - 如何为具有 n :m relationship and multiple primary keys 的 MySQL 数据库表配置实体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com