繁体   English   中英

一对一删除持久对象

[英]delete persisted object in one to one relation

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

@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;

它是单向一对一关系。

问题是我想删除图像而不删除用户,而当我删除用户时,再删除与他关联的图像。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM