Создание табличного пространства в postgresql с использованием Spring Data JPA

Я хочу создать табличное пространство в 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

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

0 ответов

Другие вопросы по тегам