java 继承类 找不到,java-在继承状态层次结构中找不到声明类:UserAccount

我在JPA Hibernate中使用servlet.我不理解该错误,除非我尝试了此论坛中建议的其他解决方案.实际上,我不想将UserAccount类存储为一个实体.但我只想在Utilisateur类中声明它(Utilisateur类的ID在useraccount类中声明).

我的代码:

@Entity

@Table(name = "utilisateur")

public class Utilisateur implements Serializable {

@Id

private UserAccount userAccount;

private Civility civility;

private Address address;

private Contact contact;

@Column(name = "sessions")

private List sessions;

@Column(name = "particularRules")

private boolean particularRules;

public Utilisateur(UserAccount pAccount, Civility pCivility,

Address pAddress, Contact pContact, List

pSessions,

boolean particularRules) {

this.userAccount = pAccount;

this.civility = pCivility;

this.address = pAddress;

this.contact = pContact;

this.sessions = pSessions;

this.particularRules = particularRules;

}

public Civility getCivility() {

return civility;

}

public void setCivility(Civility civility) {

this.civility = civility;

}

public Address getAddress() {

return address;

}

public void setAddress(Address address) {

this.address = address;

}

public Contact getContact() {

return contact;

}

public void setContact(Contact contact) {

this.contact = contact;

}

public boolean isParticularRules() {

return particularRules;

}

public void setParticularRules(boolean particularRules) {

this.particularRules = particularRules;

}

public UserAccount getUserAccount() {

return userAccount;

}

public void setUserAccount(UserAccount userAccount) {

this.userAccount = userAccount;

}

public List getSessions() {

return sessions;

}

public void setSessions(List sessions) {

this.sessions = sessions;

}

}

@Embeddable

@Inheritance(strategy = InheritanceType.SINGLE_TABLE)

public class UserAccount implements Serializable {

public UserAccount() {

}

public UserAccount(String pId, String pEmail, String pwsd, Date pCreaDate, Date pLastModDate) {

this.identifier = pId;

this.email = pEmail;

this.password = pwsd;

this.creationDate = pCreaDate;

this.lastModificationDate = pLastModDate;

}

@OneToOne(mappedBy = "userAccount", cascade = CascadeType.ALL,

fetch = FetchType.EAGER, orphanRemoval = true, targetEntity =

Utilisateur.class)

private Utilisateur user;

@Column(name = "creationDate")

@Temporal(javax.persistence.TemporalType.DATE)

private Date creationDate;

@Column(name = "lastModificationDate")

@Temporal(javax.persistence.TemporalType.DATE)

private Date lastModificationDate;

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = "identifier", nullable = false)

private String identifier;

@Column(name = "email")

private String email;

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = "password", nullable = false)

private String password;

public String getIdentifier() {

return identifier;

}

public void setIdentifier(String identifier) {

this.identifier = identifier;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Date getCreationDate() {

return creationDate;

}

public void setCreationDate(Date creationDate) {

this.creationDate = creationDate;

}

public Date getLastModificationDate() {

return lastModificationDate;

}

public void setLastModificationDate(Date lastModificationDate) {

this.lastModificationDate = lastModificationDate;

}

public Utilisateur getUser() {

return user;

}

public void setUser(Utilisateur user) {

this.user = user;

}

}

解决方法:

您必须使用嵌入式主键.

最好的祝福!

标签:jpa,hibernate,servlets,java

来源: https://codeday.me/bug/20191111/2020111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值