Org.hibernate.exception.SQLGrammarException: Failed to prepare statement

I created two entities and after loading I try to fill one with data so that they appear in the drop-down list.

I got an error

org.hibernate.exception.SQLGrammarException: could not prepare statement

The entity Groupthat should be in the drop-down list:

@Entity
@Table(name="GROUP")
public class Group implements Serializable,Lifecycle{

    /**
     * 
     */
    private static final long serialVersionUID = 5551707547269388327L;
    @Id
    @Column(name="ID")
    @GeneratedValue
    private int id;
    @Column(name="E_NAME")
    private String eName;
    @Column(name="A_NAME")
    private String aName;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String geteName() {
        return eName;
    }
    public void seteName(String eName) {
        this.eName = eName;
    }
    public String getaName() {
        return aName;
    }
    public void setaName(String aName) {
        this.aName = aName;
    }





    @Override
    public boolean onDelete(Session arg0) throws CallbackException {
        // TODO Auto-generated method stub
        return false;
    }
    @Override
    public void onLoad(Session session, Serializable arg1) {
        // TODO Auto-generated method stub
        Group adminGroup =new Group();
        Group sectionAdminGroup =new Group();
        Group userGroup =new Group();



        adminGroup.seteName("Admin");
        sectionAdminGroup.seteName("Section Admin");
        userGroup.seteName("User");

        adminGroup.setaName("مسشرف عام");
        sectionAdminGroup.setaName("مشرف قطاع");
        userGroup.setaName("مستخدم");

        session.save(adminGroup);
        session.save(sectionAdminGroup);
        session.save(userGroup);
    }
    @Override
    public boolean onSave(Session arg0) throws CallbackException {
        // TODO Auto-generated method stub
        return false;
    }
    @Override
    public boolean onUpdate(Session arg0) throws CallbackException {
        // TODO Auto-generated method stub
        return false;
    }

}

Stack trace:

Caused by:

org.hibernate.exception.SQLGrammarException: org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123)    org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)    org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:196)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160)    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1884)    org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1861)    org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)    org.hibernate.loader.Loader.doQuery(Loader.java:909) org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)    org.hibernate.loader.Loader.doList(Loader.java:2551) org.hibernate.loader.Loader.doList(Loader.java:2537) org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367) org.hibernate.loader.Loader.list(Loader.java:2362) org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:126)    org.hibernate.internal.SessionImpl.list(SessionImpl.java:1678) org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380) org.gaca.gms.dao.GenericDAOImpl.getAll(GenericDAOImpl.java:56) org.gaca.gms.services.GenericServiceImpl.getAllObjects(GenericServiceImpl.java:61)    sun.reflect.NativeMethodAccessorImpl.invoke0 ( ) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    java.lang.reflect.Method.invoke(Method.java:483) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)    org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)    org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:98)    org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)    com.sun.proxy. $ Proxy39.getAllObjects ( ) org.gaca.gms.controllers.UsersController.listUsers(UsersController.java:43)    org.gaca.gms.controllers.UsersController $$ FastClassBySpringCGLIB $$ 29260f80.invoke()    org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)    org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)    org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:98)    org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)    org.gaca.gms.controllers.UsersController $$ EnhancerBySpringCGLIB $$ de07b585.listUsers()    sun.reflect.NativeMethodAccessorImpl.invoke0 ( ) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    java.lang.reflect.Method.invoke(Method.java:483) org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)    javax.servlet.http.HttpServlet.service(HttpServlet.java:707) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)    javax.servlet.http.HttpServlet.service(HttpServlet.java:820) org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)    org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)    org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)    org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)    org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)    org.mortbay.jetty.Server.handle(Server.java:324) org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)    org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:829)    org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)    org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:488) : org.h2.jdbc.JdbcSQLException: SQL " THIS_.ID AS ID1_0_0_, THIS_.A_NAME AS A_NAME2_0_0_, THIS_.E_NAME AS E_NAME3_0_0_ FROM GROUP [*] THIS_ "; ""; SQL: this_.ID ID1_0_0_, this_.A_NAME A_NAME2_0_0_, this_.E_NAME E_NAME3_0_0_ this_ [42001-178] org.h2.message.DbException.getJdbcSQLException(DbException.java:344)    org.h2.message.DbException.getSyntaxError(DbException.java:204)    org.h2.command.Parser.readIdentifierWithSchema(Parser.java:3024)    org.h2.command.Parser.readTableFilter(Parser.java:1185) org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1859) org.h2.command.Parser.parseSelectSimple(Parser.java:1968) org.h2.command.Parser.parseSelectSub(Parser.java:1853) org.h2.command.Parser.parseSelectUnion(Parser.java:1674) org.h2.command.Parser.parseSelect(Parser.java:1662) org.h2.command.Parser.parsePrepared(Parser.java:434) org.h2.command.Parser.parse(Parser.java:306) org.h2.command.Parser.parse(Parser.java:278) org.h2.command.Parser.prepareCommand(Parser.java:243) org.h2.engine.Session.prepareLocal(Session.java:442) org.h2.engine.Session.prepareCommand(Session.java:384) org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188)    org.h2.jdbc.JdbcPreparedStatement. (JdbcPreparedStatement.java:73)    org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:276)    org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)    org.apache.commons.dbcp.PoolingDataSource $ PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ 5.doPrepare(StatementPreparerImpl.java:162)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186)   ... 73

Caused by:

org.h2.jdbc.JdbcSQLException: SQL "SELECT THIS_.ID AS ID1_0_0_, THIS_.A_NAME AS A_NAME2_0_0_, THIS_.E_NAME AS E_NAME3_0_0_ FROM GROUP [*] THIS_ "; " "; SQL : this_.ID ID1_0_0_, this_.A_NAME A_NAME2_0_0_, this_.E_NAME E_NAME3_0_0_ this_ [42001-178] org.h2.message.DbException.getJdbcSQLException(DbException.java:344)    org.h2.message.DbException.getSyntaxError(DbException.java:204)    org.h2.command.Parser.readIdentifierWithSchema(Parser.java:3024)    org.h2.command.Parser.readTableFilter(Parser.java:1185) org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1859) org.h2.command.Parser.parseSelectSimple(Parser.java:1968) org.h2.command.Parser.parseSelectSub(Parser.java:1853) org.h2.command.Parser.parseSelectUnion(Parser.java:1674) org.h2.command.Parser.parseSelect(Parser.java:1662) org.h2.command.Parser.parsePrepared(Parser.java:434) org.h2.command.Parser.parse(Parser.java:306) org.h2.command.Parser.parse(Parser.java:278) org.h2.command.Parser.prepareCommand(Parser.java:243) org.h2.engine.Session.prepareLocal(Session.java:442) org.h2.engine.Session.prepareCommand(Session.java:384) org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188)    org.h2.jdbc.JdbcPreparedStatement. (JdbcPreparedStatement.java:73)    org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:276)    org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)    org.apache.commons.dbcp.PoolingDataSource $ PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ 5.doPrepare(StatementPreparerImpl.java:162)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl $ StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186)    org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:160)    org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1884)    org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1861)    org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)    org.hibernate.loader.Loader.doQuery(Loader.java:909) org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)    org.hibernate.loader.Loader.doList(Loader.java:2551) org.hibernate.loader.Loader.doList(Loader.java:2537) org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367) org.hibernate.loader.Loader.list(Loader.java:2362) org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:126)    org.hibernate.internal.SessionImpl.list(SessionImpl.java:1678) org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380) org.gaca.gms.dao.GenericDAOImpl.getAll(GenericDAOImpl.java:56) org.gaca.gms.services.GenericServiceImpl.getAllObjects(GenericServiceImpl.java:61)    sun.reflect.NativeMethodAccessorImpl.invoke0 ( ) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    java.lang.reflect.Method.invoke(Method.java:483) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)    org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)    org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:98)    org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)    com.sun.proxy. $ Proxy39.getAllObjects ( ) org.gaca.gms.controllers.UsersController.listUsers(UsersController.java:43)    org.gaca.gms.controllers.UsersController $$ FastClassBySpringCGLIB $$ 29260f80.invoke()    org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)    org.springframework.aop.framework.CglibAopProxy $ CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)    org.springframework.transaction.interceptor.TransactionInterceptor $ 1.proceedWithInvocation(TransactionInterceptor.java:98)    org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)    org.gaca.gms.controllers.UsersController $$ EnhancerBySpringCGLIB $$ de07b585.listUsers()    sun.reflect.NativeMethodAccessorImpl.invoke0 ( ) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    java.lang.reflect.Method.invoke(Method.java:483) org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)    javax.servlet.http.HttpServlet.service(HttpServlet.java:707) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)    javax.servlet.http.HttpServlet.service(HttpServlet.java:820) org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)    org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)    org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)    org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)    org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)    org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)    org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)    org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)    org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)    org.mortbay.jetty.Server.handle(Server.java:324) org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)    org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:829)    org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)    org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:488)

Spring:

@SuppressWarnings("unchecked")
        @RequestMapping(method=RequestMethod.GET)
          public String listUsers(Map<String, Object> map) {

            map.put("user", new User());
            map.put("usersList", usersService.getAllObjects(User.class));
            map.put("groupsList", usersService.getAllObjects(Group.class));
            return "index";
        }

JSP:

<tr>
                  <td>groups</td>
                  <td><form:select path="selectedGroup">
                  <form:options items="${groupsList}"/> 
                  </form:select></td>
                  </tr>

. - ?

+6
4

, , GROUP, h2. , ADMIN_GROUP.

h2:

/

, ( , ..), ( ). :

CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DISTINCT, EXCEPT, EXISTS, FALSE, FOR, FROM, FULL, GROUP, HAVING, INNER, INTERSECT, IS, JOIN, LIKE, LIMIT, MINUS, NATURAL, NOT, NULL, ON, ORDER, PRIMARY, ROWNUM, SELECT, SYSDATE, SYSTIME, SYSTIMESTAMP, TODAY, TRUE, UNION, UNIQUE, WHERE

, , '()' , CURRENT_TIMESTAMP.

+14

40 , user currentUser

//this cause error
@Column()
private String user; 

: could not prepare statement; SQL [insert into table_progress (id, created, user, progress, updated, xdip) values (default, ?, ?, ?, ?, ?)]

//changed to this and works    
@Column()
private String userP;
+1

desc , desc asc .

0

Spring-boot H2 ,

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

: becoz UpperCase .

,

createdOn -> CREATED_ON.
0

Source: https://habr.com/ru/post/1543410/


All Articles