Вы должны использовать Entity для каждой таблицы.
Если вам нужно выбрать класс Model, не связанный с базой данных, вы можете легко это сделать с помощью spring-data-jpa.
После создания класса Model (например, School) просто используйте следующий пример для запроса:
class ProgrammerNameAndCity{
fields...
allArgConstructor...
}
public interface ProgrammerRepository extends JpaRepository<Programmer,Long> {
@Query(" select new com.zlrx.database.pojo.ProgrammerNameAndCity(p.name,p.address.city) " +
"from Programmer p where p.idNumber=?1")
ProgrammerNameAndCity findNameAndCityByIdNumber(String idNumber);
}
В этом примере у программиста есть поле адреса (OneToOne), но вы можете создать любой запрос, здесь важен вызов конструктора модели.
Если вы хотите использовать простой интерфейс sql или impl вместо интерфейса для запроса, вы также можете использовать Spring RowMapper.