Java 删除一对一关系中的持久化对象

Java 删除一对一关系中的持久化对象,java,openjpa,Java,Openjpa,我使用openjpa作为映射层,我有两个模型: 用户: 和形象 @Entity @Table(name = "IMAGES") public class Image { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "images_id_gen") @SequenceGenerator(name = "images_id_gen", sequenceName = "manage.ima

我使用openjpa作为映射层,我有两个模型: 用户:

和形象

@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;
这是单向的一对一关系

问题是,我想删除图像而不删除用户,当我删除一个用户时,然后删除与他关联的图像

现在,当我删除一个图像时,它也会删除用户

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

只需删除cascade=CascadeType.ALL即可
@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;