0

我有 2 个 mysql 表:帐户和邮件。帐户由 id 和用户数据组成。邮件包含 id、user_id、数据和外键 user_id -> Accounts.key (fk_Users)
如何通过休眠向 Mails 表中添加和获取当前 user_id 的数据?我尝试了一些来自 google 的示例,但它们创建了多余的表或外键,我不喜欢它。

4

1 回答 1

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();
于 2013-06-12T02:52:20.763 回答