这里是Hibernate新手。
所以我有一个包含许多Opportunity对象的User对象:
@Entity
public class User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long userId;
private String firstName;
private String lastName;
private String email;
@OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL, mappedBy="user")
private List<Opportunity> opportunities = new ArrayList();
@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;
我有一个与用户具有ManyToOne关系的Opportunity对象:
@Entity
public class Opportunity implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long opportunityId;
@ManyToOne(fetch=FetchType.EAGER, cascade=CascadeType.ALL)
@JoinColumn(name="userId", nullable=false)
private User user;
private String listingUrl;
private String position;
private String organization;
private String location;
@Column(columnDefinition="text")
private String notes;
@Enumerated(EnumType.STRING)
private Action action;
@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;
@Temporal(TemporalType.DATE)
private Date dueDate;
这里发出所有get / set方法只是为了节省空间。 当我使用User类的getOpportunities()方法时,我假设会发生这种情况,它会返回数据库中的所有Opportunity对象。我认为注释会自动为我拉动它们。但事实并非如此。 所以我的问题是,注释是否有助于从数据库中检索数据?怎么样?或者它们只是用于创建数据库?如果我想获得所有机会,我是否必须编写自定义事务/查询?