如何通过Hibernate将数据添加到mysql表(一对多)

时间:2013-06-12 02:27:46

标签: java mysql hibernate jpa

我有2个mysql表:帐户和邮件。 帐户包含id和用户数据。 邮件包括id,user_id,数据和外键user_id - > Accounts.key(fk_Users)
如何通过hibernate为当前user_id添加和获取数据到Mails表? 我尝试了谷歌的一些例子,但他们创建了多余的表或外键,我不喜欢它。

1 个答案:

答案 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();