有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate阻止我登录到只读Postgresql数据库

我在AWS上复制了我的一个数据库。这是一个RDS实例。在那之后,我所做的就是在我的应用程序中更改pom文件中的端点,以指向新的读取副本。但是,当我通过intelliJ在本地运行代码并进入登录页面时,登录会产生以下错误:

Hibernate: select authorizat0_.id as id1_0_2_, authorizat0_.expirationDate as expirati2_0_2_, authorizat0_.timeCreated as timeCrea3_0_2_, authorizat0_.token as token4_0_2_, authorizat0_.user_id as user_id5_0_2_, user1_.id as id1_6_0_, user1_.timeCreated as timeCrea2_6_0_, user1_.uuid as uuid3_6_0_, user1_.version as version4_6_0_, user1_.company_id as company_5_6_0_, user1_.emailAddress as emailAdd6_6_0_, user1_.firstName as firstNam7_6_0_, user1_.hashedPassword as hashedPa8_6_0_, user1_.isVerified as isVerifi9_6_0_, user1_.lastName as lastNam10_6_0_, user1_.phoneNumber as phoneNu11_6_0_, user1_.role as role12_6_0_, user1_.signatureImage as signatu13_6_0_, company2_.id as id1_1_1_, company2_.timeCreated as timeCrea2_1_1_, company2_.uuid as uuid3_1_1_, company2_.version as version4_1_1_, company2_.accountId as accountI5_1_1_, company2_.additional_setting as addition6_1_1_, company2_.beginningDate as beginnin7_1_1_, company2_.city as city8_1_1_, company2_.country as country9_1_1_, company2_.expirationDate as expirat12_1_1_, company2_.logo as logo25_1_1_, company2_.logoType as logoTyp26_1_1_, company2_.name as name27_1_1_, company2_.need_disclaimer as need_di28_1_1_, company2_.state as state30_1_1_, company2_.statement as stateme31_1_1_, company2_.streetAddress1 as streetA32_1_1_, company2_.streetAddress2 as streetA33_1_1_,  company2_.use_customer_supplier_id as use_cus35_1_1_,  company2_.user_id as user_id37_1_1_, company2_.zipcode as zipcode38_1_1_ from authorization_token authorizat0_ left outer join "user" user1_ on authorizat0_.user_id=user1_.id left outer join company company2_ on user1_.company_id=company2_.id where authorizat0_.user_id=?
    Hibernate: select nextval ('hibernate_sequence')
    09:44:19.651 [qtp951562287-24] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - ERROR: cannot execute nextval() in a read-only transaction

有人知道如何解决这个问题吗

使用只读数据库时是否需要对hibernate进行不同的配置?这个应用程序只需将我的端点更改为一个,就可以很好地处理任何写数据库


共 (1) 个答案

  1. # 1 楼答案

    看起来应用程序正试图通过INSERT语句写入一些数据,它试图获取序列值,但由于数据库是只读的,因此失败。您必须调整应用程序,使其不在此数据库上执行任何写入操作