Собственная сущность управления запросами jpa (часть 2)

Прод. на нативный запрос jpa получить несколько объектов

  • Моя база данных (тестирование)
    введите описание изображения здесь

    company - ID {PK}, name
    staff - ID{PK}, name, companyID{FK}
    department - ID{PK}, name, companyID{FK}, staffID{FK}
    project - ID{PK}, name, staffID{FK}
    
  • Во-первых, я хочу сделать резервную копию company Таблица.

    String query = "SELECT c.ID as companyid, c.name as companyname FROM company c";
    Query q = em.createNativeQuery(query, "MAPPING");
    List<CompanyDTO> list = q.getResultList();
    
    Company.java
    @SqlResultSetMapping(name = "MAPPING", classes = {
    @ConstructorResult(
        targetClass = CompanyDTO.class,
        columns = {
            @ColumnResult(name = "companyid"),
            @ColumnResult(name = "companyname")
        })
    })
    ...
    
  • Во-вторых, я хочу сделать резервную копию staff Таблица.

    String query = "SELECT s.ID as staffid, s.name as staffname, s.companyID as companyID 
                    FROM staff s JOIN company c ON c.ID = s.companyID";
    Query q = em.createNativeQuery(query, "MAPPING");
    List<CompanyDTO> list = q.getResultList();
    
    Company.java
    @SqlResultSetMapping(name = "MAPPING", classes = {
    @ConstructorResult(
        targetClass = CompanyDTO.class,
        columns = {
            @ColumnResult(name = "staffid"),
            @ColumnResult(name = "staffname"),
            @ColumnResult(name = "companyID")
        })
    })
    ...
    
  • Теперь я не хочу, чтобы исправить мой стол и класс. Как я могу контролировать? из следующего?

    SELECT ... FROM ? 
    List<?> list = q.getResultList();
    

    Любая помощь, пожалуйста...

0 ответов

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