我有2个mysql表:帐户和邮件。
帐户包含id和用户数据。
邮件包括id,user_id,数据和外键user_id - > Accounts.key(fk_Users)
如何通过hibernate为当前user_id添加和获取数据到Mails表?
我尝试了谷歌的一些例子,但他们创建了多余的表或外键,我不喜欢它。
答案 0 :(得分:1)
帐户类:
public class Account {
private Integer id;
private Something userData;
@OneToMany(mappedBy="account", cascade=CascadeType.ALL);
private Set<Mail> mails;
}
邮件类:
public class Mail {
private Integer id;
private Othersomething data;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="user_id" , referencedColumnName="your foreign key here in Account table")
@Column(insertable=false, updatable=false)
private Account account;
}
然后当你在DAO课程中检索时
Query query =sess.createQuery("FROM Account");//hql or criteria here or native sql
List result = query.list();