Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como mapear uma Consulta Nativa para um POJO, quando não tenho nenhuma Entidade no meu projeto?


Na verdade, encontrei a resposta que estava procurando :

Eu posso definir @SqlResultSetMapping 's comportamento usando XML em orm.xml, então esta definição:
@SqlResultSetMapping(
        name = "BookValueMapping",
        classes = @ConstructorResult(
                targetClass = BookValue.class,
                columns = {
                    @ColumnResult(name = "id", type = Long.class),
                    @ColumnResult(name = "title"),
                    @ColumnResult(name = "version", type = Long.class),
                    @ColumnResult(name = "authorName")}))

Seria definido em XML assim:
<sql-result-set-mapping name="BookValueMappingXml">
    <constructor-result target-class="org.thoughts.on.java.jpa.value.BookValue">
        <column name="id" class="java.lang.Long"/>
        <column name="title"/>
        <column name="version" class="java.lang.Long"/>
        <column name="authorName"/>
    </constructor-result>
</sql-result-set-mapping>

Permitindo-me defini-lo sem precisar de uma entidade.