使用spring data-jpa映射本机查询结果集的更好方法

时间:2018-10-04 07:35:23

标签: java jpa 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 {

        }

1 个答案:

答案 0 :(得分:0)

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

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

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

JpaRepository具有许多优点,请调查此事:) 希望这会有所帮助...