ОШИБКА: невозможно выполнить INSERT только для транзакции чтения - PullRequest
0 голосов
/ 14 апреля 2019

Я делаю INSERT-запрос к моей БД, но у меня есть ошибка, которая описана в заголовке (перевод с испанского).

Я думаю, что проблема в том, что PostgresSQL "понимает", что является другойпользователь, который выполняет запрос и не имеет прав на запись, но в application.properties я использую параметры подключения, которые я использую для подключения в системе менеджера баз данных.

Если я выполняю тот же запрос напрямуюв postgresql это работает.Почему не работает, когда я делаю запрос из DAO?

DAO:

@Override
    public Object register(String name, String surname, String email, String password) {
    StringBuilder queryStB = new StringBuilder();

    queryStB.append("INSERT INTO Users (user_name,surname,email,user_password,app_admin)"
            + " VALUES (:user_name,:surname,:email,:user_password,:app_admin ) ");



    String queryString = queryStB.toString();

    Query query = entityManager.createNativeQuery(queryString);

    query.setParameter("user_name",name);
    query.setParameter("surname",surname);
    query.setParameter("email",email);
    query.setParameter("user_password",password);
    query.setParameter("app_admin",false);
    return query.getResultList();
}

APPLICATION.PROPERTIES

server.port=8081
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username= postgres
spring.datasource.password=******

# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = create-drop

1 Ответ

0 голосов
/ 14 апреля 2019

Метод createNamedQuery Hibernate EntityManager поддерживает только запросы на выборку.Это то, что указывает сообщение об ошибке.

Я также проверил и не видел примеров людей, использующих метод для вставки или обновления запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...