当前位置: 首页 > 知识库问答 >
问题:

Spring Jpa存储库在插入时崩溃

苏翰学
2023-03-14

我正在尝试为刷新JWT令牌实现一个存储库,但我无法将我的令牌保存在postgresql中。

我的实体:

@Entity(name = "refreshtoken")
public class RefreshToken {
  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE)
  private long id;

  @Column(nullable = false, unique = true)
  private String user;

  @Column(nullable = false, unique = true)
  private String token;

  @Column(nullable = false)
  private Instant expiryDate;

  public long getId() {
        return id;
    }

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

  public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

  public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

  public Instant getExpiryDate() {
        return expiryDate;
    }

    public void setExpiryDate(Instant expiryDate) {
        this.expiryDate = expiryDate;
    }

刷新令牌已使用正确的值初始化。日志是

Hibernate:选择nextval(“Hibernate\u序列”)Hibernate:插入到refreshtoken(到期日、令牌、用户、id)值(?,,?,?)2022-04-08 11:17:22.475错误24272---[nio-8080-exec-1]o.h.发动机。jdbc。spi。SqlExceptionHelper:ERREUR:ERREUR de syntax sur ou prΦs de½user╗ Positioná:47 2022-04-08 11:17:22.483调试24272---[nio-8080-exec-1]o.s.web。servlet。DispatcherServlet:未能完成请求:org。springframework。道。InvalidDataAccessResourceUsageException:无法执行语句;SQL[无];嵌套异常为org。冬眠例外SQLGrammarException:无法执行语句2022-04-08 11:17:22.497错误24272---[nio-8080-exec-1]o.a.c.c.c.[[dispatcherServlet]:Servlet。路径为[/xatis web]的上下文中的servlet[dispatcherServlet]的service()引发异常[请求处理失败;嵌套异常为org.springframework.dao.InvalidDataAccessResourceUsageException:无法执行语句;SQL[不适用];嵌套异常为org。冬眠例外SQLGrammarException:无法执行具有根本原因的语句]

org.postgresql.util.PSQLException: ERREUR: erreur de synax e sur ou prΦs de½user Positioná: 47

我有spring.jpa.hibernate.ddl-自动=更新我创建了刷新令牌表手册,但我也注意到,它崩溃后,所有字段都被创建,除了用户。

欢迎任何帮助,谢谢

共有2个答案

江华容
2023-03-14

“user”是Postgresql的保留关键字

方飞翼
2023-03-14

就像Manuel在评论中指出的那样,user是postgresql中的保留字

 类似资料:
  • 问题内容: 我正在 iPhone6 Plus*上进行测试,插入或拔出耳机后会崩溃。 ,,在我的应用程序使用。 * 不带耳机的启动应用程序可以播放iPhone扬声器的声音。 带有耳机的启动应用可以播放耳机的声音。 在以下情况下发生错误。启动不带耳机的应用,并播放扬声器的声音。然后,如果我连接耳机,则耳机没有声音。之后拔下耳机的插头,即使扬声器也没有声音。当我触摸屏幕时,audioApp崩溃。 与使用

  • 在本章中,我们将讨论如何从一个Bitbucket导入一个仓库到GitLab: 步骤(1): 登录到您的GitLab帐户并点击仪表板中的New project按钮: 步骤(2): 单击导入项目选项卡下的按钮: 步骤(3): 接下来,您需要登录到您的帐户。 如果您没有帐户,请点击注册链接创建一个新帐户,然后登录到帐户。 步骤(4): 当点击按钮(如步骤2所示)时,它将显示下面的屏幕并点击授予访问按钮:

  • 能够使用存储引擎之前,必须使用INSTALL PLUGIN语句将存储引擎plugin(插件)装载到mysql。例如,要想加载example引擎,首先应加载ha_example.so模块: INSTALL PLUGIN ha_example SONAME 'ha_example.so'; 文件.so必须位于MySQL服务器库目录下(典型情况下是installdir/lib)。

  • 我使用JPA存储库将简单的数据对象保存到数据库中。为了避免重复,我在多个字段上创建了一个唯一约束。如果现在根据唯一字段/约束保存一个副本,我想捕获异常,记录对象,应用程序应继续并保存下一个对象。但在这里我总是会遇到这样的异常:“org.hibernate.AssertionFailure:de.test.PeopleDBO条目中的空id(在异常发生后不要刷新会话)”。 一般来说,我知道hibern

  • 我想将Weblogic库放入本地存储库(安装和配置Maven以实现构建自动化和依赖关系管理),我的工作站上安装了Weblogic版本12.1.2。 我运行这个命令: 但我有一个错误:

  • 我有一个表,有多条记录具有相同的ID但不同的值。我想从其他表复制记录到这个表。如果记录为空,我想更新到最小位置,或者如果值不存在,插入到下一个位置。 这是我的目标表: ID|职位|价值 1 | 1 | A 2 | 1 | B 2 | 2 |空 2 | 3 |空 2 | 4 | C 3 | 1 | A 4 | 1 | D 4 | 2 | B 源表: ID |值 1 | C 2|N 3 | B 4 |