2015-04-01 57 views
0

我使用的OpenJPA作为一个映射层和我有两个型号: 用户:删除一个持久对象,以一对一的关系

@Entity 
@Table(name = "USERS") 
public class User 
{ 
    @Id 
    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "user_id_gen") 
    @SequenceGenerator(name = "user_id_gen", sequenceName = "manage.users_id", allocationSize=1) 
    @Column(name = "id", nullable = false) 
    private int _id; 

    @OneToOne (cascade=CascadeType.ALL, fetch = FetchType.EAGER) 
    @JoinColumn(name="fk_image_id", insertable=true, updatable=true, nullable = true) 
    private Image _image; 

和图像

@Entity 
@Table(name = "IMAGES") 
public class Image 
{ 
    @Id 
    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "images_id_gen") 
    @SequenceGenerator(name = "images_id_gen", sequenceName = "manage.image_id", allocationSize=1) 
    @Column(name = "id") 
    private int _id; 

是单向的一对一关系。

问题是我想删除图像而不删除用户,当我删除用户然后删除与他相关的图像。

现在,当我删除一个图像,它删除用户以及!

+0

只需通过删除Cascade = CascadeType.ALL – Pratik 2015-04-01 12:06:55

回答

0

找到了解决办法。 我将图像字段设置为空并保存用户对象,然后删除图像。