java - hibernate: mappedBy 引用 oneToMany 关系中的未知目标实体属性
问题描述
我的代码中有以下结构:
用户有一个 TvShow 的收藏列表,一个 TvShow 有一个季节列表,一个季节有一个剧集列表。
用户
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id", updatable = false, nullable = false)
private int id;
@OneToMany(mappedBy = "tvshows", fetch = FetchType.EAGER)
private List<TvShow> favourites;
/// everything else removed for clarity
}
电视节目
@Entity
@Table(name = "tvshows")
public class TvShow {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "tvShow_id", updatable = false, nullable = false)
private int id;
@OneToMany(mappedBy = "tvshows", fetch = FetchType.EAGER)
private List<Season> seasons;
/// everything else removed for clarity
}
季节
@Entity
@Table(name = "seasons")
public class Season{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "season_id", updatable = false, nullable = false)
private int id;
@OneToMany(mappedBy = "seasons", fetch = FetchType.EAGER)
private List<Episode> episodes;
/// everything else removed for clarity
}
该应用程序不会以以下错误消息启动:
mappedBy reference an unknown target entity property: com.gcimpoies.project.model.Season.seasons in com.gcimpoies.project.model.TvShow.seasons
还,
Invocation of init method failed; nested exception is org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.gcimpoies.project.model.Season.seasons in com.gcimpoies.project.model.TvShow.seasons
我很确定我只是缺少正确的属性名称(mappedBy 的参数),但我不知道我做错了什么。
提前致谢!
解决方案
您必须输入的名称是您mappedBy
引用的类的 id。
代替:
@OneToMany(mappedBy = "tvshows", fetch = FetchType.EAGER)
尝试:
@OneToMany(mappedBy = "id", fetch = FetchType.EAGER)
您也必须对其余映射执行此操作。
推荐阅读
- r - 调整闪亮仪表板标题中图像、操作按钮和标题的位置
- excel - 将一列中的多个数据点转换为多列
- assembly - JASPer 是否模仿 CISC 或 RISC 架构?
- html - IIS 服务器端包含不显示在移动设备上
- foreach - 使用角色迭代“forEach”成员
- discord.py - 多次触发命令时,我的 discord.py 机器人不一致地向用户添加角色
- python - 我的 pygame 程序闪烁,不完全确定为什么
- reactjs - 在反应中加载内部文件列表
- mysql - Mysql Subquery 只返回一个结果,即使列表中有多个 ID
- javascript - Stripe 稍后收款工作流 Node/Express/EJS