java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:未映射用户[来自用户]
我得到java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:User未映射[来自用户]错误。我已经回答了这些问题,但没有帮到我 数据库表映像: 数据库表用户.jpg UserBean.java 包装模型java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:未映射用户[来自用户],java,hibernate,jakarta-ee,orm,hql,Java,Hibernate,Jakarta Ee,Orm,Hql,我得到java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:User未映射[来自用户]错误。我已经回答了这些问题,但没有帮到我 数据库表映像: 数据库表用户.jpg UserBean.java 包装模型 import java.util.ArrayList; import javax.persistence.Column; import javax.persistenc
import java.util.ArrayList;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import controller.Login;
import controller.userinfo;
import gfgshfhjdgfhjdhhjfhjd.iModel;
@Entity
@Table(name= "User")
public class UserBean implements iModel
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="Id")
private int id;
@Column(name="Username")
private String username ;
@Column(name="Password")
private String password ;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 UserBean(){}
public ArrayList<?> getData() {
return userinfo.getUser();
}
}
import java.util.ArrayList;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.GeneratedValue;
导入javax.persistence.GenerationType;
导入javax.persistence.Id;
导入javax.persistence.Table;
导入控制器。登录;
导入controller.userinfo;
导入gfgshfhjdgfhjdhjfhjd.iModel;
@实体
@表(name=“User”)
公共类UserBean实现iModel
{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“Id”)
私有int-id;
@列(name=“Username”)
私有字符串用户名;
@列(name=“Password”)
私有字符串密码;
公共int getId(){
返回id;
}
公共无效集合id(内部id){
this.id=id;
}
公共字符串getUsername(){
返回用户名;
}
public void setUsername(字符串用户名){
this.username=用户名;
}
公共字符串getPassword(){
返回密码;
}
public void setPassword(字符串密码){
this.password=密码;
}
公共用户bean(){}
公共ArrayList getData(){
返回userinfo.getUser();
}
}
Userinfo.java
包装控制器;
导入java.util.ArrayList;
导入java.util.List;
导入org.hibernate.Session;
导入model.UserBean;
进口测试工厂;
公共类用户信息{
公共静态void saveUser(UserBean用户){
会话会话=HibernateSessionFactory.getSessionFactory().openSession();
session.beginTransaction();
session.save(用户);
session.getTransaction().commit();
}
公共静态ArrayList getUser(){
会话会话=HibernateSessionFactory.getSessionFactory().openSession();
session.beginTransaction();
List=(List)session.createQuery(“来自用户”).List();
ArrayList list2=新的ArrayList();
对于(int i=0;i
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/project
根
真的
org.hibernate.context.internal.ThreadLocalSessionContext
错误日志:
2018年5月6日下午4:16:04 org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
信息:HH000397:使用ASTQueryTranslatorFactory
java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:未映射用户[来自用户]
位于org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:133)
位于org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)
位于org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164)
位于org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:670)
位于org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:103)
位于controller.Userinfo.getUser(Userinfo.java:28)
位于model.UserBean.getData(UserBean.java:55)
位于controller.Login.doGet(Login.java:38)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
位于org.apache.tomcat.util.net.aprendop$SocketProcessor.doRun(aprendop.java:2430)
位于org.apache.tomcat.util.net.aprendop$SocketProcessor.run(aprendop.java:2419)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)
原因:org.hibernate.hql.internal.ast.QuerySyntaxException:用户未映射[来自用户]
位于org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:79)
位于org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.docomFile(QueryTranslatorImpl.java:217)
位于org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:141)
在或
package controller;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import model.UserBean;
import test.HibernateSessionFactory;
public class Userinfo {
public static void saveUser(UserBean user) {
Session session = HibernateSessionFactory.getSessionFactory().openSession();
session.beginTransaction();
session.save(user);
session.getTransaction().commit();
}
public static ArrayList<?> getUser() {
Session session = HibernateSessionFactory.getSessionFactory().openSession();
session.beginTransaction();
List<UserBean> list = (List<UserBean>)session.createQuery("from User").list();
ArrayList<String> list2= new ArrayList<String>();
for(int i=0;i<list.size();i++) {
int tmp = list.get(i).getId();
StringBuilder sBuilder = new StringBuilder();
sBuilder.append(tmp);
list2.add(sBuilder.toString());
list2.add(list.get(i).getUsername());
list2.add(list.get(i).getPassword());
}
if (list != null) {
for (int i = 0; i < list.size(); i++) {
System.out.println("User ID : " + list.get(i).getId());
System.out.println("User First Name : "+ list.get(i).getUsername());
System.out.println("User Last Name : "+ list.get(i).getPassword());
}
}
session.getTransaction().commit();
return list2;
}
}
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- SQL Dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Database Connection Settings -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/project</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="show_sql">true</property>
<!-- Specifying Session Context -->
<property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
<!-- <property name="hibernate.hbm2ddl.auto">create</property> -->
<!-- Mapping With Model Class Containing Annotations -->
<mapping class="model.UserBean" />
</session-factory>
</hibernate-configuration>
May 06, 2018 4:16:04 PM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
INFO: HHH000397: Using ASTQueryTranslatorFactory
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [from User]
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:133)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:164)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:670)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:103)
at controller.Userinfo.getUser(Userinfo.java:28)
at model.UserBean.getData(UserBean.java:55)
at controller.Login.doGet(Login.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2430)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2419)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [from User]
at org.hibernate.hql.internal.ast.QuerySyntaxException.generateQueryException(QuerySyntaxException.java:79)
at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:217)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:141)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:115)
at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:153)
at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:553)
at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:662)
... 26 more
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped
at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:169)
at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:91)
at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:79)
at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:326)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3706)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3595)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:720)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:576)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:313)
at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:261)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:266)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:189)
... 32 more