首页 > 解决方案 > 使用 spring data-jpa 映射本机查询结果集的更好方法

问题描述

如果我们需要在 Spring 数据中映射原生 sql 结果集。我们需要在下面创建NamedNativeQuery。它运行良好,但如果我们有很长/很多查询,则很难在这里维护。

有没有其他方法可以实现这一目标?

    import javax.persistence.Entity;
    import javax.persistence.NamedNativeQuery;
    import javax.persistence.Table;


        @Entity
        @NamedNativeQuery(name = "Todo.findByTitleIs”,
                query="SELECT * FROM todos t WHERE t.title = 'title'",
                resultSetMapping= "mapper"
        )
       @SqlResultSetMapping(
        name = "mapper",
        classes = @ConstructorResult(
                targetClass = TodoDTO.class,
                columns = {
                        ..,

                }))
        @Table(name = "todos")
        final class Todo {

        }

标签: javajpaspring-data-jpa

解决方案


JPA 和 Hibernate 和其他类似框架的重点不是编写原生查询,然后打开连接等等......所有这些都归结为一个方法......我建议的是使用

pulblic interface JpaRepository<Todo, (the type of the Todo Id) >{

Optional<List<Todo>> findAllByTitle(String title);
}

JpaRepository 有很多优点,看看这件事:) 希望这会有所帮助......


推荐阅读