【发布时间】:2018-02-12 16:37:09
【问题描述】:
我正在使用 JPA 和带有延迟加载的 JSF 数据表。 在这里,一辆车可以由多个用户拥有。因此,当我登录应用程序时,我想要登录用户拥有的汽车(假设它为 userId=1)。 我有一个包含 carId 和 userId 列的映射表“Cars_User”。 我的实体是这样的 我的汽车课
@Entity
@Table(name="car")
public class Car implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;
@Transient
private boolean myCar;
@NotNull
@Size(min = 1, max = 50)
public String name;
@OneToMany(cascade = { CascadeType.REFRESH }, fetch = FetchType.LAZY, orphanRemoval = true)
@JoinTable(name = "Cars_User", joinColumns = @JoinColumn(name = "carId"), inverseJoinColumns = @JoinColumn(name = "userId"))
private List<User> carUsers = new ArrayList<User>();
getters ...
setters ...
}
用户类
@Entity(name = "User")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String firstName;
private String lastName;
}
我在link 中找到了一个字符串集合列表的答案,但在我的情况下如何实现。 我想在标准 api 中获取所有汽车实体,其中包含 carUsers 列表中的登录用户 ID“userId”。有人可以帮忙吗?
【问题讨论】:
标签: jpa collections criteria-api