小编jst*_*jst的帖子

Spring Boot扩展了CrudRepository

我在Spring Boot应用程序中使用Hibernate.我正在为我的所有Model对象创建一个新的CrudRepository,以执行基本的CRUD任务.它们看起来像这样:

@Repository
public interface FoobarCrudRepo extends CrudRepository<Foobar, Long> {
}
Run Code Online (Sandbox Code Playgroud)

但后来我总是需要做一些额外的事情,比如具有不等式的自定义搜索查询等.我遵循这样的模式:

@Repository
public class FoobarDao {

    @PersistenceContext
    EntityManager em;

    public List<Foobar> findFoobarsByDate(Date date) {
        String sql = "select fb from Foobar fb where createdDate > :date";
        ...
        return query.getResultList();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以将这两个概念合并为一个类吗?我试着把它变成一个抽象类,如下所示:

@Repository
public abstract class FoobarCrudRepo extends CrudRepository<Foobar, Long> {

    @PersistenceContext
    EntityManager em;

    public List<Foobar> findFoobarsByDate(Date date) {
        String sql = "select fb from Foobar fb where createdDate > :date";
        ...
        return query.getResultList();
    }

}
Run Code Online (Sandbox Code Playgroud)

但是Spring没有为它创建一个bean.

我怎么能做到这一点?

谢谢!

java spring hibernate spring-data-jpa spring-boot

8
推荐指数
1
解决办法
3万
查看次数

Gradle 文件中的 Spring Boot Actuator 信息端点版本

我希望/infoSpring Boot (1.2.4.RELEASE) 应用程序的执行器端点返回文件中指定的版本build.gradle

在我的build.gradle文件中,我有这样一行:

version = '0.0.1-SNAPSHOT'
Run Code Online (Sandbox Code Playgroud)

我正在使用 yaml 配置文件。现在我有复制的版本,如下所示application.yml

info:
    build:
        version: 0.0.1-SNAPSHOT  
Run Code Online (Sandbox Code Playgroud)

这可能吗?

gradle spring-boot

3
推荐指数
1
解决办法
7920
查看次数

标签 统计

spring-boot ×2

gradle ×1

hibernate ×1

java ×1

spring ×1

spring-data-jpa ×1