エンティティを構成しようとしていますが、休止状態では次の例外がスローされます。
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を初めて使用し、何が起こっているのか理解できません。
なんらかのIDを提供する必要がありますか?
ありがとう!
SDUser
で、SDUserAccess
に関連付け情報を追加する必要があります。
@ManyToOne
@JoinColumn(name = "sdId")
private SDUserProductAcess productAccess;