Создание табличного пространства в postgresql с использованием Spring Data JPA - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу создать табличное пространство в postgresql на лету, используя Spring Data JPA.Для этого я использовал собственный запрос из EntityManager:

@Service
public class DatabaseService {
    @Autowired
    EntityManager entityManager;

    @Transactional
    public void createTableSpace(String name, String path) {

        String query = "CREATE TABLESPACE "
        + name + " "
        + "OWNER  postgres"
        + " LOCATION" + " '" + path + "'";

        Query q = entityManager.createNativeQuery(query);
        q.executeUpdate();


    }

}

. После выполнения приведенного выше кода я получаю эту ошибку:

Caused by: org.postgresql.util.PSQLException: ERROR: CREATE TABLESPACE cannot run inside a transaction block

Итак, я удалил @Transactional из createTableSpaceфункция;После повторного выполнения кода я получаю еще одну ошибку:

Caused by: javax.persistence.TransactionRequiredException: Executing an update/delete query

Итак, как я могу справиться с этой ситуацией?

...