我一直在尝试在我的新网络应用程序中执行登录过程,它曾经工作但是由于我创建了由UserData和Profile子类组成的User模型,Tomcat向我显示未映射的UserData:
var javaScriptExecutor = Instance as IJavaScriptExecutor;
bool isPageLoaded = javaScriptExecutor.ExecuteScript("return document.readyState;").Equals("complete");
Userlogin DAO:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: UserData is not mapped [from UserData u where u.username = :Username]
型号:
public UserData getUsername(String username) {
List<UserData> userList = new ArrayList<UserData>();
Query query = openSession().createQuery("from UserData u where u.username = :Username");
query.setParameter("Username", username);
userList = query.list();
if (userList.size() > 0)
return userList.get(0);
else
return null;
}
Full StackTrace:
public class Usermanager {
@Entity
@Table(name="USER")
public class UserData implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int iduser;
String username;
String password;
int idprofile;
int accountstatus;
public int getIduser() {
return iduser;
}
public void setIduser(int iduser) {
this.iduser = iduser;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getIdprofile() {
return idprofile;
}
public void setIdprofile(int idprofile) {
this.idprofile = idprofile;
}
public int getAccountstatus() {
return accountstatus;
}
public void setAccountstatus(int accountstatus) {
this.accountstatus = accountstatus;
}
}
@Entity
@Table(name="PROFILE")
public class Profile implements Serializable { ... }
}
答案 0 :(得分:1)
你所做的不是子类,而是内部类。我不完全确定你打算在你自己的类之间建立什么关系,但 UserManager.java文件不应包含实体的定义。
如果你想扩展UserManager(似乎不是一个好的解决方案,但仍然):你需要一个UserManager.java,以及你的实体的另外两个.java文件,都标记为&#34;扩展的UserManager&#34;并使用@Entity注释。
如果您希望UserManager类包含这些元素,只需简单地使用这些类型取消两个变量,然后使用@Entity注释创建另外两个java类。