【问题标题】:Hibernate - inheritance休眠 - 继承
【发布时间】:2013-09-15 17:10:35
【问题描述】:

我有一个名为userDetailsSuper 的超类,它映射到另一个名为Address 的表。

@Entity
@Table (name = "USER_DETAILS_SUPER")
@Inheritance (strategy = InheritanceType.JOINED )
public class UserDetailsSuper 
{
  private long userDetailsSuperID;  
  private long phone;
  private Set<Address> addressSet;

 @OneToMany (mappedBy = "userDetailsSuper")
 public Set<Address> getAddressSet() {
return addressSet;
}

public void setAddressSet(Set<Address> addressSet)
{
this.addressSet = addressSet;
}
}

 Address table:
 @Entity
 @Table(name="ADDRESS")
 public class Address
{
 private long address_ID;
 private UserDetailsSuper userDetailsSuper;

@ManyToOne
@JoinColumn (name = "USER_DETAILS_SUPER_ID", nullable = false)
public UserDetailsSuper getUserDetailsSuper() {
    return userDetailsSuper;
}
public void setUserDetailsSuper(UserDetailsSuper userDetailsSuper) {
    this.userDetailsSuper = userDetailsSuper;
}
 }

//sub class
public UserDetails extends UserDetailsSuper
{
}

当我尝试插入子表时,数据被插入到子类和超类中,而不是在映射地址类中。

我想我缺少一些映射...请帮助

【问题讨论】:

    标签: hibernate inheritance mapping table-per-subclass


    【解决方案1】:

    在您的“UserDetailsS​​uper”实体中定义它。

    @OneToMany(cascade={CascadeType.ALL}) @JoinColumn(name="USER_DETAILS_SUPER_ID")

    按照这个例子 http://viralpatel.net/blogs/hibernate-one-to-many-annotation-tutorial/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      相关资源
      最近更新 更多