Java 在Spring Boot应用程序中同时使用内存和生产数据库
我正在尝试开始spring boot与数据库的集成 我读过官方的话题,对我来说很清楚 我想用发布我的应用程序,所以我看了一下正式的项目配置Java 在Spring Boot应用程序中同时使用内存和生产数据库,java,spring-boot,hsqldb,in-memory-database,Java,Spring Boot,Hsqldb,In Memory Database,我正在尝试开始spring boot与数据库的集成 我读过官方的话题,对我来说很清楚 我想用发布我的应用程序,所以我看了一下正式的项目配置 pom.xml的一部分: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> &l
pom.xml的一部分
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
//...
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
//...
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1203-jdbc42</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.4.1</version>
</dependency>
可能有几个原因,但实际上取决于您如何定义架构/需求: inMem DB的访问数据速度更快,您可以使用它来存储临时数据、用户会话信息等内容 db类似于postgres,可以用作补充(同样,取决于您想要/需要什么),以存储更多“静态”、最少使用的信息或简单的数据持久性 同样,根据场景的不同,您可能需要一个、两个或没有 希望有帮助,
塞尔吉奥我有两例:
真的很有帮助。谢谢,不过我需要问一下——在我发布的一个例子中,它将如何工作?正如我所看到的,这里没有缓存、用户会话等东西,只是普通的JPA存储库。那么,为什么会有hsql db?快速搜索。。看起来像是默认的hsqldb,但在示例中它被更改为postgres(从src看起来它是唯一被使用的)。我需要编译和测试(现在不能做它..在工作中)。。但是,如果你评论这个依赖关系,它应该会工作(再次..不是100%确定..测试出来)。。。检查:“默认情况下,生成的应用程序会设置Hypersonic内存中数据库。但是,强烈建议在本地使用与生产中相同的数据库。因此,我们将通过此Roo命令将应用程序切换到使用Postgres:”
# Database Config
# Un-comment these lines to connect to a database. When commented out, you automatically get an in-memory-database.
#spring.jpa.hibernate.ddl-auto=update