Я думаю, вы немного сбиты с толку, почему JPA полезен.
Преимущество, которое вы получаете от JPA, заключается в том, что у вас будет много функций, которые помогут вам изменить данные в вашей базе данных.Вы получите параметры управления параллелизмом (явная блокировка / неявная блокировка / оптимистическая / пессимистическая блокировка), механизм грязной проверки, кэширование, динамические обновления, прозрачное пакетирование JDBC и многое другое.
Для чтения данных , конечно, вы можете использовать свои объекты, но это применимо только для простых вариантов использования.Если производительность также зависит от вас и требует немного более сложных запросов, тогда у вас есть возможность использовать JPQL, а если это невозможно, то собственный SQL.Для чтения я предпочитаю использовать проекции DTO, так как это оказывает огромное влияние на производительность по сравнению с использованием чистых сущностей.
Для дальнейшего чтения:
https://blog.arnoldgalovics.com/using-projections-in-your-data-access-layer/ https://blog.arnoldgalovics.com/how-much-projections-can-help/