小编4ja*_*ier的帖子

Spring Boot项目在Eclipse调试模式下启动缓慢

我在Eclipse中基于mariadb、hibernate、spring-boot等常用库编写了一个Spring小项目。当我正常运行我的应用程序时,它在大约十秒内完成启动:

2019-11-07 19:53:47.539  INFO 2887 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.3.11.Final}
2019-11-07 19:53:47.541  INFO 2887 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2019-11-07 19:53:47.687  INFO 2887 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-11-07 19:53:47.799  INFO 2887 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MariaDB103Dialect
2019-11-07 19:53:55.078  INFO 2887 --- [           main] o.h.t.schema.internal.SchemaCreatorImpl  : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@3400d6fa'
2019-11-07 19:53:55.083  INFO 2887 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory …
Run Code Online (Sandbox Code Playgroud)

java eclipse debugging hibernate spring-boot

5
推荐指数
2
解决办法
7035
查看次数

JPA 规范和 .where 子句中的空参数

我写了两个规范,如果它们的参数为 null,则返回 null。

public static Specification<Prodotto> getProdottoByLineaSpec (String linea) {

        if (linea != null) {
            return (root, query, criteriaBuilder) -> {
                return criteriaBuilder.like((root.join("linea")).get("nome"), "%"+linea+"%");
            };
        }
        else return null;
    }

public static Specification<Prodotto> getProdottoByIngSpec (String ing) {

        if (ing != null) {
            return (root, query, criteriaBuilder) -> {
                return criteriaBuilder.like(((root.join("listaQuoteIng")).join("ing")).get("nome"), "%"+ing+"%");
            };
        }
        else return null;
    }
Run Code Online (Sandbox Code Playgroud)

然后我创建了第三个,将前一个与子句中的and运算符结合起来where

public static Specification<Prodotto> getProdottoByMainTraits (String linea, String ing) {

        return Specification.where(getProdottoByLineaSpec(linea).and(getProdottoByIngSpec(ing)));
    }
Run Code Online (Sandbox Code Playgroud)

现在,这是有趣的部分:

  • 如果ByLinea回报null,我得到一个 …

null jpa specification-pattern spring-data-jpa

0
推荐指数
1
解决办法
5955
查看次数