-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Error: SQLGrammarException
PostPosted: Thu Nov 08, 2012 8:33 am 
Newbie

Joined: Thu Nov 08, 2012 8:18 am
Posts: 2
Hi, I'm a Hibernate beginner and trying to insert some data into a db without tables yet so hibernate creates them itself.
Here's my code:

hibernate.cfg.xml:

Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <!-- a SessionFactory instance listed as /jndi/name -->
    <session-factory
        name="java:hibernate/SessionFactory">

        <!-- properties -->
        <property name="connection.url">jdbc:derby://localhost:1527/DerbyDB;create=true</property>
        <property name="connection.driver">org.apache.derby.jdbc.ClientDriver</property>
        <property name="show_sql">true</property>
        <property name="connection.pool_size">1</property>
        <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
        <property name="connection.username">user</property>
        <property name="connection.password">some_pw</property>
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <property name="hibernate.default_schema">TestSchema</property> <!-- create schema TestSchema -->
        <property name="current_session_context_class">thread</property>
        <property name="hbm2ddl.auto">create</property>
      <mapping class="com.name.User"/>       
    </session-factory>
</hibernate-configuration>



Model Class:

Code:
@Entity
public class User {   
   private int userId;
   private String name;
   private String password;
   
   @Id
   public int getUserId() {
      return userId;
   }
   public void setUserId(int userId) {
      this.userId = userId;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public String getPassword() {
      return password;
   }
   public void setPassword(String password) {
      this.password = password;
   }
}



Main Class:

Code:
public class HibernateTest {
   public static void main(String[] args) {      
      User user = new User();
      user.setUserId(1);
      user.setName("user");
      user.setPassword("password");
      
      SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
      Session session = sessionFactory.openSession();
            
      session.beginTransaction();
      session.save(user);
      session.getTransaction().commit();
   }
}




the error:

Code:
Hibernate: insert into TestSchema.User (name, password, userId) values (?, ?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [com.name.User]
   at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
   at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2455)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2875)
   at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
   at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
   at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
   at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
   at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
   at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
   at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
   at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
   at com.name.HibernateTest.main(HibernateTest.java:21)
Caused by: java.sql.SQLSyntaxErrorException: Syntaxfehler: Encountered "User" at line 1, column 24.
   at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
   at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
   at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
   at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
   at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:116)
   at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
   at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2412)
   ... 11 more
Caused by: org.apache.derby.client.am.SqlException: Syntaxfehler: Encountered "User" at line 1, column 24.
   at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
   at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
   at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
   at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
   at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
   at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
   at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
   at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
   at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
   at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
   at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)



Maybe some one can help me with this problem. Thanks!


Top
 Profile  
 
 Post subject: Re: Error: SQLGrammarException
PostPosted: Thu Nov 08, 2012 10:33 am 
Newbie

Joined: Thu Nov 08, 2012 8:18 am
Posts: 2
Problem solved!

the table name must not be named "User" ... it seems to be an name that is used by the DB.

this post helped: http://www.java-forum.org/data-tier/82743-org-hibernate-exception-sqlgrammarexception.html


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.