花公子丶 2017-04-15 14:33 采纳率: 50%
浏览 2459
已结题

JPA,hibernate基于主键的一对一级联删除

我希望删除user的时候,把cmscompany给级联删除掉。以下是我的代码,两实体是基于主键的一对一关系,级联删除一直删除不了,找了
很多资料,都没办法。求大神们帮帮忙

 //User实体
 import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;


@Entity
@Table(name="user")
public class User implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String name;
    private CmsUserCompany cmsUserCompany;
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    @Column
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @OneToOne(fetch = FetchType.LAZY, cascade = { CascadeType.ALL },mappedBy="user")
    public CmsUserCompany getCmsUserCompany() {
        return cmsUserCompany;
    }
    public void setCmsUserCompany(CmsUserCompany cmsUserCompany) {
        this.cmsUserCompany = cmsUserCompany;
    }
}
 import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.MapsId;
import javax.persistence.OneToOne;

import javax.persistence.Table;

@Entity
@Table(name="CmsUserCompany")
public class CmsUserCompany implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String name;
    private User user;
    @Id
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    @Column
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @MapsId
    @OneToOne
    @JoinColumn(name="userid")
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
}
  • 写回答

2条回答 默认 最新

  • MyVal 2017-04-15 16:10
    关注

    可以参考一下 http://blog.csdn.net/nthack5730/article/details/45366537 Hibernate基于主键一对一映射操作实例

    评论

报告相同问题?

悬赏问题

  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题