Выполнение SQL-запросов в JMIX

Здравствуйте!
Подскажите реализацию возможности выполнения SQL-запросов на JMIX.

Добрый день.

В Jmix нет специальных средств для выполнения native SQL запросов, достаточно того, что предоставляет Spring.

  1. Создаете Spring Bean
  2. Инжектируете javax.persistence.EntityManager с помощью аннотации @PersistentContext
  3. Вызываете entityManager.createNativeQuery()
  4. Управляете транзакцией вручную (org.springframework.transaction.support.TransactionTemplate) или с помощью @org.springframework.transaction.annotation.Transactional

Пример:

@Component
public class NotificationService {

    @PersistenceContext
    private EntityManager entityManager;

    @Transactional
    public void markAsReadWithEntityManager(UUID notificationId) {
        entityManager.createNativeQuery("update NOTIFICATION set IS_READ = true where ID = ?")
                .setParameter(1, notificationId)
                .executeUpdate();
    }
}

Ну или инжектируете DataSource и используете JdbcTemplate который в Spring или любой другой JDBC API.

Добрый день!

Если в native SQL использовать select и выводить результат в Table или DataGrid, то пейджинг, фильтрацию и сортировку потребуется самостоятельно обрабатывать или jmix сможет сам добавлять необходимые правки в SQL ?

Jmix умеет трансформировать дерево объектов Condition, а также параметры paging/sorting, приходящие в DataManager, в условия JPQL-запроса.
Для native SQL это придется делать самостоятельно.