【问题标题】:syntax error on session.save() methodsession.save() 方法的语法错误
【发布时间】:2014-10-04 13:09:07
【问题描述】:

我遇到了一个奇怪的问题,方法 session.save() 正在抛出语法异常 “org.postgresql.util.PSQLException:错误:“用户”或附近的语法错误” - 看附图,你可以看到映射表,休眠查询和它的参数,看起来都不错,我不知道问题出在哪里。 列 id_user 具有自动生成的序列,并且每次我尝试调用 save() 方法时,该序列的值都会增加。 用户映射类:

package com.wily.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="user")
@SequenceGenerator(sequenceName="user_id_user_seq", name="userSequence")
public class User {

    @Id
    @Column(name="id_user")
    @GeneratedValue(generator="userSequence")
    private int id;

    @Column(name="username")
    private String username;

    @Column(name="password")
    private String password;

    @Column(name="email")
    private String email;

    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 String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }

}

因此,序列正在增加,但用户未保存,图像:

【问题讨论】:

标签: java hibernate postgresql


【解决方案1】:

USER 是一个PostgreSQL reserved word。重命名表格

@Table(name="usertable")

【讨论】:

    【解决方案2】:

    我认为您需要在 DB 中重新创建表并指定其他表名。请查看此链接:How to configure Hibernate to put quotes around table names

    【讨论】:

      【解决方案3】:

      如果重命名不起作用,试试这个 问题出在数据库上。

      <property name="hibernate.hbm2ddl.auto">update</property>
      

      这将根据 bean 类在任何 db 上自动创建数据库表。 还要检查您创建的序列是否同名。

      【讨论】:

        猜你喜欢
        • 2010-10-19
        • 1970-01-01
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 2013-11-14
        • 2021-08-21
        • 2011-05-13
        • 2015-07-12
        相关资源
        最近更新 更多