jpa - 无法从 Java EE 应用程序浏览内存数据库中的 H2
问题描述
我从 H2 控制台连接到内存 DB 中的 H2 时遇到问题。我没有使用 Spring - 只是纯 Java EE。我在 persistence.xml 文件中指定 H2 连接字符串:
<persistence-unit name="testPersistenceUnit" transaction-type="JTA">
<jta-data-source>jdbc:h2:mem:testdb</jta-data-source>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE" />
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
</properties>
然后,当应用程序在我的一个 servlet 中启动时,我将启动 TCP 和 Web H2 服务器:
Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8082").start();
Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092").start();
然后我尝试打开 localhost:8082 并输入连接所需的信息:
- 驱动类:org.h2.Driver
- JDBC URL:jdbc:h2:mem:testdb
我看到的第一个问题 - 我输入的用户/密码无关紧要 - 连接总是成功的。另一个问题 - 当我按下 Connect 时,我看不到任何表格。我知道使用 Spring 支持很容易。但是,我发现的解决方案不适用于 Java EE 应用程序。
解决方案
推荐阅读
- python - 每次我这样做时,如何使用 Selenium 从 instagram 获取帖子 url,每次我向下滚动时它都会动态变化?
- python - 如何检查鼠标和矩形对象之间的碰撞
- php - PHP 数组转换为单个 php 字符串,来自 SQL 数据
- linux - 如何使用 FFMPEG 从 Apple PRORES Quicktime 转码 h264_qsv?
- c++ - Qt C++:无法为不同线程中的父级创建子级
- json - Vue 在 v-for 中显示数组的两个对象
- linux - ssh 以 sudo 运行时不执行远程命令
- elasticsearch - Elasticsearch 将节点添加到集群
- linux - 仅当所有文件中都存在字符串时,如何在多个文件上 grep 字符串?
- java - 如何在 Java 中返回布尔值