【问题标题】:Hibernate foreign key becomes null休眠外键变为空
【发布时间】:2014-01-06 11:18:40
【问题描述】:

我在休眠中使用一对一映射我有两个实体RegisterPartner,另一个是Userdetails.userdetailsuser_id 作为主键,它在RegisterPartner 中用作外键但是当我保存它正确保存的实体,但外键变为null

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

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="user_id")
private int user_id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;

@OneToOne(mappedBy = "userdetail", cascade = CascadeType.ALL)  
private RegisterPartner registerpartner ;


public Userdetails(){

}
}   

@Entity
@Table(name="tbl_partner")
public class RegisterPartner implements  Serializable , Comparable<RegisterPartner>{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="register_id")
private int register_id;

@Column(name="agency_name")
private String agencyname;

@Column(name="agency_type")
private int agencytype;

@OneToOne
@PrimaryKeyJoinColumn(name = "user_id", referencedColumnName = "user_id")
private Userdetails userdetail;

public RegisterPartner(){}

 }

保存代码

 public String savePartnerRegister(){

    RegisterPartner registerpartner = new RegisterPartner();  
    Userdetails userdetails = new Userdetails();
    registerpartner.setAgencyname(getAgencyname());
    registerpartner.setAgencytype(getAgencytype());

    userdetails.setUsername(getUsername());
    userdetails.setPassword(getPassword());

    userdetails.setRegisterpartner(registerpartner);
    registerpartner.setUserdetail(userdetails);

     SessionFactory sessionFactory= HibernateManager.getSessionFactory();
     Session session = sessionFactory.openSession();
     session.beginTransaction();
     session.save(userdetails);
     session.getTransaction().commit();
     session.close()

}

不明白发生了什么。

【问题讨论】:

    标签: hibernate null foreign-keys


    【解决方案1】:

    你不应该使用@PrimaryKeyJoinColumn,它用来表示主键也是外键。你应该使用@JoinColumn

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-09
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多