Collectionofelementsを使用したHibernateのマッピング例外
-
09-10-2019 - |
質問
私はこのマッピングを機能させようとしていますが、この奇妙な例外メッセージを受け取ります
Could not determine type for: foo.ProcessUser, at table: ProcessUser_onetimeCodes, for columns: [org.hibernate.mapping.Column(processUser)]
@Entity
public class ProcessUser {
@Setter
private List<OnetimeCodes> onetimeCodes;
@CollectionOfElements
public List<OnetimeCodes> getOnetimeCodes() {
return onetimeCodes;
}
}
@Embeddable
@Data
public class OnetimeCodes {
@Parent
private ProcessUser processUser;
@Column(nullable=false)
@NotEmpty
private String password;
public OnetimeCodes(ProcessUser processUser, String password) {
this.processUser = processUser;
this.password = password;
}
}
誰かがここで何が悪いのかを見つけることができますか?私は持っています hibernate.hbm2ddl.auto
の上 create
解決
エラーが見つかりました。
クラスのいずれかの属性、もう1つのゲッターに属性をマッピングすることはできません。彼らは一致するはずです。
だから私は変わった
@Embeddable
@Data
public class OnetimeCodes {
@Parent
private ProcessUser processUser;
@Column(nullable=false)
@NotEmpty
private String password;
public OnetimeCodes(ProcessUser processUser, String password) {
this.processUser = processUser;
this.password = password;
}
}
に
@Embeddable
public class OnetimeCodes {
private ProcessUser processUser;
private String password;
public OnetimeCodes(ProcessUser processUser, String password) {
this.processUser = processUser;
this.password = password;
}
@Parent
public ProcessUser getProcessUser() {
return processUser;
}
public void setProcessUser(ProcessUser processUser) {
this.processUser = processUser;
}
@Column(nullable=false)
@NotEmpty
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
とヴィオラ。あなたが私に尋ねるならば、とても愚かです。
所属していません StackOverflow