Java 如何通过Hibernate(一对多)向mysql表添加数据
我有两个mysql表:帐户和邮件。 帐户由id和用户数据组成。 邮件由id、用户id、数据和外键用户id->Accounts.key(fk用户)组成Java 如何通过Hibernate(一对多)向mysql表添加数据,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我有两个mysql表:帐户和邮件。 帐户由id和用户数据组成。 邮件由id、用户id、数据和外键用户id->Accounts.key(fk用户)组成 如何通过hibernate为当前用户id向邮件表添加和获取数据? 我试过谷歌的一些例子,但他们创建了多余的表或外键,我不喜欢 科目类别: public class Account { private Integer id; private Something userData; @OneToMany(mappedBy="account", ca
如何通过hibernate为当前用户id向邮件表添加和获取数据? 我试过谷歌的一些例子,但他们创建了多余的表或外键,我不喜欢 科目类别:
public class Account {
private Integer id;
private Something userData;
@OneToMany(mappedBy="account", cascade=CascadeType.ALL);
private Set<Mail> mails;
}
然后当您在DAO类中检索时
Query query =sess.createQuery("FROM Account");//hql or criteria here or native sql
List result = query.list();
@nachokk我试过这个例子你的例子不起作用。IDE说:mappedBy参数是错误的。我把它们拿走了。然后,这个可插入和可更新的参数应该是false。我改了。现在程序将两个数据库合并为一个。不起作用了,现在起作用了。谢谢您知道为什么hibernate加载已删除的旧实体类或旧表吗?:)您是否在db中提交了更改?你还有地图吗?顺便说一句,标记为solvedI仅启动服务器。没有行动,就没有承诺。是的,我让mapped查看您的hibernate.cfg,如果您已经映射了旧的实体类,并检查hibernate.hbm2ddl.auto=create如果它在create中,那么将在db表中创建
Query query =sess.createQuery("FROM Account");//hql or criteria here or native sql
List result = query.list();