Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich eine native Abfrage einem POJO zuordnen, wenn ich keine Entität in meinem Projekt habe?

Tatsächlich habe ich die Antwort gefunden, nach der ich gesucht habe :

Ich kann @SqlResultSetMapping definieren 's Verhalten bei Verwendung von XML in orm.xml, also diese Definition:

@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")}))

Würde in XML wie folgt definiert:

<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>

So kann ich es definieren, ohne eine Entität zu benötigen.