2017-03-01 89 views
0

我在休眠插入有一些问题。休眠插入连接和外键

假设我有2个实体

@Entity 
public class User{ 
    @Id 
    @GeneratedValue 
    int user_id; 

    String name; 

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) 
    @JoinColumn(name = "utente_id") 
    list<City> cities; 
} 

@Entity 
public class City{ 
    int user_id 
    int city_id 
} 

,如果我尝试创建一流的用户,并添加城市的名单,但是当我尝试保存,收到此错误:

Caused by: java.sql.SQLException: Foreign key constraint violation occurred

这是因为user_id在类City必须等于user_idUser,但休眠首先插入,然后更新。 我如何旋转?

+0

在'City'类中显示您的注释。以及您获得Exception的代码示例。看来你在这里需要'ManyToMany'关系。 –

回答

0

先尝试将用户对象保存到数据库。 只有在你坚持你可以得到user_id的生成值。

然后,您可以创建City对象,设置user_id字段并保留它。