微服务架构之Spring Boot(四十四)

2022-05-23 14:26:56 浏览数 (1)

30.3.3创建和删除JPA数据库

默认情况下,仅当您使用嵌入式数据库(H2,HSQL或Derby)时,才会自动创建JPA数据库。您可以使用 spring.jpa.* 属性显式配置JPA设

置。例如,要创建和删除表,可以将以下行添加到 application.properties :

spring.jpa.hibernate.ddl-auto=create-drop

Hibernate自己的内部属性名称(如果你碰巧更好地记住它)是 hibernate.hbm2ddl.auto 。您可以使

用 spring.jpa.properties.* (在将它们添加到实体管理器之前删除前缀)来设置它以及其他Hibernate本机属性。以下行显示

了为Hibernate设置JPA属性的示例:

spring.jpa.properties.hibernate.globally_quoted_identifiers=true

前面示例中的行将 hibernate.globally_quoted_identifiers 属性的值 true 传递给Hibernate实体管理器。

默认情况下,DDL执行(或验证)将延迟到 ApplicationContext 开始。还有一个 spring.jpa.generate-ddl 标志,但如果Hibernate自动配

置处于活动状态,则不会使用它,因为 ddl-auto 设置更精细。

30.3.4在View中打开EntityManager

如果您正在运行Web应用程序,则默认情况下Spring Boot会注册 OpenEntityManagerInViewInterceptor 以应用“在视图中打开

EntityManager”模式,以允许在Web视图中进行延迟加载。如果您不想要此行为,则应在 application.properties 中

将 spring.jpa.open-in-view 设置为 false 。

30.4 Spring数据JDBC

90%高可用的千亿级微服务架构之道深入学习一线大厂必备微服务架构技术。VIP 教程限时免费领取。⇐ 立即查看

Spring数据包括JDBC的存储库支持,并将自动为 CrudRepository 上的方法生成SQL。对于更高级的查询,提供了 @Query 注释。

当必要的依赖项在类路径上时,Spring Boot将自动配置Spring数据的JDBC存储库。可以使用 spring-boot-starter-data-jdbc 上的单个依

赖项将它们添加到项目中。如有必要,您可以通过向应用程序添加 @EnableJdbcRepositories 注释或 JdbcConfiguration 子类来控制Spring

Data JDBC的配置。

30.5使用H2的Web控制台

该H2数据库提供了一个 基于浏览器的控制台是Spring Boot可以自动为您配置。满足以下条件时,将自动配置控制台:

您正在开发基于servlet的Web应用程序。

com.h2database:h2 在类路径上。

您正在使用Spring Boot的开发人员工具。

如果您没有使用Spring Boot的开发人员工具但仍想使用H2的控制台,则可以使用值 true 配置 spring.h2.console.enabled

属性。

H2控制台仅用于开发期间,因此您应该注意确保生产中 spring.h2.console.enabled 未设置为 true 。

30.5.1更改H2控制台的路径

默认情况下,控制台位于 /h2-console 。您可以使用 spring.h2.console.path 属性自定义控制台的路径。

0 人点赞