花公子丶 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 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型