简体   繁体   English

org.hibernate.exception.SQLGrammarException:无法再次执行查询

[英]org.hibernate.exception.SQLGrammarException: could not execute query again

I am new in Spring and Hibernate. 我是Spring和Hibernate的新手。 I am trying to insert and retrieve all data from database. 我正在尝试从数据库中插入和检索所有数据。 I have inserted data in mySql db and now i am trying to retrieve all data from database but i am getting some exception. 我已在mySql db中插入数据,现在我正尝试从数据库中检索所有数据,但出现了一些异常。 What i can do to fix the problem. 我可以做些什么来解决这个问题。

Jul 04, 2012 10:46:58 AM org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 1064, SQLState: 42000
Jul 04, 2012 10:46:58 AM org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: You have an error in your SQL syntax; check the manual that corresponds to     your MySQL server version for the right syntax to use near ') as emp1_0_, employee0_.address as address0_, employee0_.emp_email as emp3_0_, ' at line 1
Hibernate: select employee0_.emp_id) as emp1_0_, employee0_.address as address0_, employee0_.emp_email as emp3_0_, employee0_.manager_id as manager4_0_, employee0_.emp_name as emp5_0_ from employee employee0_
org.hibernate.exception.SQLGrammarException: could not execute query

Hibernate code is 休眠代码是

public void getAll() {

    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction transaction = null;
    try {
        transaction = (Transaction) session.beginTransaction();
        List employees = session.createQuery("from Employee").list();
        for (Iterator iterator = employees.iterator(); iterator.hasNext();) {
            Employee employee = (Employee) iterator.next();
            System.out.println(employee.getName());
        }
        transaction.commit();
    } catch (HibernateException e) {
        transaction.rollback();
    } finally {
        session.close();
    }
}

Employee.java Employee.java

@Entity
@Table(name="employee")
public class Employee {

private int id;
private String name;
private String email;
private String address;
private int managerId;


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="emp_id)")
public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

@Column(name="emp_name")
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Column(name="emp_email")
public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

@Column(name="address")
public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

@Column(name="manager_id")
public int getManagerId() {
    return managerId;
}

public void setManagerId(int managerId) {
    this.managerId = managerId;
}
}

this 这个

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="emp_id)")
public int getId() {
    return id;
}

should be - 

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="emp_id")
public int getId() {
    return id;
}

Remove ) from the end of name="emp_id)" name="emp_id)"末尾删除)

There is typo error in the Id field emp_id, having extra ')' Id字段emp_id中存在拼写错误,且有多余的')'

@Column(name="emp_id)")

Remove the curly bracket it will work. 删除花括号将起作用。

column name for id you specified is containing ) remove it eg 您指定的ID的列名称包含)删除它,例如

replace @Column(name="emp_id)") with @Column(name="emp_id") @Column(name="emp_id)") with @Column(name="emp_id")

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="emp_id")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 嵌套的异常是org.hibernate.exception.SQLGrammarException:无法执行查询 - nested exception is org.hibernate.exception.SQLGrammarException: could not execute query 如何解决 org.hibernate.exception.SQLGrammarException: 无法执行查询 - How to solve org.hibernate.exception.SQLGrammarException: could not execute query RuntimeException:org.hibernate.exception.SQLGrammarException:无法执行查询 - RuntimeException: org.hibernate.exception.SQLGrammarException: could not execute query org.hibernate.exception.SQLGrammarException:无法执行查询 - org.hibernate.exception.SQLGrammarException: could not execute query org.hibernate.exception.SQLGrammarException:无法执行语句 - org.hibernate.exception.SQLGrammarException: could not execute statement org.hibernate.exception.SQLGrammarException:无法执行JDBC批更新 - org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update org.hibernate.exception.SQLGrammarException:无法执行 JDBC 批量更新 - org.hibernate.exception.SQLGrammarException:Could not execute JDBC batch update org.hibernate.exception.SQLGrammarException:无法执行语句 - org.hibernate.exception.SQLGrammarException: could not execute statement 异常:org.hibernate.exception.SQLGrammarException:无法执行查询 SELECT MAX(cast(value,integer)) - Exception: org.hibernate.exception.SQLGrammarException: could not execute query SELECT MAX(cast(value,integer)) 嵌套的异常是org.hibernate.exception.SQLGrammarException:无法执行查询-添加了“ 0_” - nested exception is org.hibernate.exception.SQLGrammarException: could not execute query - “0_” added
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM