【发布时间】:2013-10-12 13:31:29
【问题描述】:
我有两个实体 bean:
@Entity
public class User {
@Id
@GeneratedValue
private Long id;
@OneToMany(mappedBy="user", cascade = CascadeType.ALL)
private List<Comment> comments = new ArrayList<Comment>();
//SOME OTHER CLASS VARIABLES
//GETTERS AND SETTERS
}
我的评论类是这样的:
@Entity
public class Comment {
@Id
@GeneratedValue
private Long id;
private String title;
private String content;
@ManyToOne
private User user
//SOME OTHER CLASS VARIABLES
//GETTERS AND SETTERS
}
现在我知道我可以从会话中获取用户对象并像这样为我的评论设置用户,以便能够使用 JPA 中的加入功能:
commentObject.setUser(TheSessionGrabedUserObject/UserObjectWhichHasFetchedFromDbUsingUserId);
但只要我有我的用户对象的 userId,我就不需要这样做。 我正在寻找一种将这个 foreignKey 插入到我的评论表中的方法,而无需从会话中获取用户对象,或者可能查询到数据库以首先获取它!
我将如何使用 JPQL 来做到这一点?
【问题讨论】:
标签: spring hibernate jakarta-ee jpa jpql