【发布时间】:2018-09-16 21:21:43
【问题描述】:
在我的项目中,我创建了这个类:
@Entity
@Table(name= "Wall")
public class Wall {
@Id
@GeneratedValue
@Column(name="id")
private Integer id;
@ManyToOne
@JoinColumn(name="user_id", nullable=false)
private User user;
@ManyToOne
@JoinColumn(name="likable_id", nullable=false)
private Likable likable;
@ManyToMany(cascade = { CascadeType.ALL })
@JoinTable(
name= "Wall_Follower",
joinColumns = { @JoinColumn(name = "wall_id") },
inverseJoinColumns = { @JoinColumn(name = "follower_id") }
)
private Set<User> followers;
谁给了这张桌子:
Wall
+----+------------+---------+
| id | likable_id | user_id |
+----+------------+---------+
Wall_Follower
+---------+-------------+
| wall_id | follower_id |
+---------+-------------+
我想搜索关注者。使用 SQL 查询,它会给出:
SELECT * FROM `Wall_Follower` AS MF
LEFT JOIN `Wall` AS M
ON MF.wall_id= M.wall_id
WHERE MF.follower_id = 1
我想过做一个这样的类追随者:
@Entity
@Table(name= "Mur_Follower")
public class Follower {
@Id
@Column(name="follower_id")
private Integer id;
@Column(name="mur_id")
private Mur mur;
但我有一个错误:
Could not determine type for: beans.Wall, at table: Wall_Follower, for columns: [org.hibernate.mapping.Column(wall_id)]
【问题讨论】:
-
您可以发布
Wall_FollowerEntity 的代码吗?另外,Mur_Follower是什么?你能发布它的架构吗? -
User与这些有什么关系?在任何地方都与Follower没有关系。提供正确的映射,以便评论有依据
标签: java hibernate jpa jakarta-ee