我试图配置我的实体但是hibernate引发了以下异常:
org.hibernate.MappingException: Could not determine type for: com.sd.entity.SDUserProductAcess, at table: SDUser, for columns: [org.hibernate.mapping.Column(productAccess)]
[PersistEngine] Failed to initialize persistence engine!java.lang.NullPointerException
这些是我的实体:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class SDObject
{
@Id
@GeneratedValue
private long sdId;
private String sdType;
public long getSdId()
{
return sdId;
}
public void setSdId(long sdId)
{
this.sdId = sdId;
}
public String getSdType()
{
return sdType;
}
public void setSdType(String sdType)
{
this.sdType = sdType;
}
}
下一个:
@Entity
public class SDUser extends SDObject
{
@Column(unique = true)
private String code;
private String password;
private SDUserProductAcess productAccess;
public String getCode()
{
return code;
}
public void setCode(String code)
{
this.code = code;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
public SDUserProductAcess getProductAccess()
{
return productAccess;
}
public void setProductAccess(SDUserProductAcess productAccess)
{
this.productAccess = productAccess;
}
最后一个:
@Entity
public class SDUserProductAcess extends SDObject
{
private boolean adm;
public boolean isAdm()
{
return adm;
}
public void setAdm(boolean adm)
{
this.adm = adm;
}
}
Hibernate无法确定位于SDUser实体中的列productAccess的类型。 我是Hibernate的新手,我无法弄清楚发生了什么。
我应该提供某种身份证吗?
谢谢!
答案 0 :(得分:14)
在SDUser
中,您需要在SDUserAccess
上添加关联信息:
@ManyToOne
@JoinColumn(name = "sdId")
private SDUserProductAcess productAccess;