使用JPA建立一个Barebones Java项目
#database #java #hibernate #jpa

通常将JPA与Spring/Spring Boot和Java EE/Jakarta EE应用程序集成。这两种应用都提供了对JPA的抽象,这隐藏了许多我们在Barebones Java应用程序中手动进行的事情。对JPA的抽象就像魔术一样。但是在这里我们要自己做魔术。

设置数据库

首先,我们需要为应用程序设置数据库。为了简单性和开发目的,我们将使用H2数据库。 H2可以用作内存数据库或服务模式。我们将使用服务器端模式模拟真实的数据库。

Image description

我们可以使用MySQL,Postgres或其他任何其他关系数据库切换H2数据库。

从官方网站下载并安装H2设置。安装后,如果打开H2控制台,它将在浏览器中打开。您应该看到这样的东西。

Image description
您设置用户名和密码,或者可以单击“连接”按钮,它将使用默认配置运行H2数据库。

Image description

连接后,您应该看到这样的页面。您可以在此处创建表并编写SQL查询。

创建一个Java Maven项目

如果您使用的是Intellij Idea,请创建一个新的Java Maven项目。项目构建完成后,在pom.xml文件中添加以下依赖关系

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-entitymanager</artifactId>
  <version>5.6.15.Final</version>
</dependency>`

<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <version>1.4.200</version>
  <scope>complete</scope>
</dependency>

第一个依赖关系使我们能够使用支持JPA的Hibernate实现,第二个是针对数据库驱动程序的。就我们而言,这是H2数据库。如果您正在使用任何其他数据库,请使用相应的数据库驱动程序切换依赖项。

持久性上下文

在SRC的资源软件包中创建Meta-Inf目录。在该目录中创建 persistence.xml 文件。该文件称为持久性上下文。

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
    <persistence-unit name="myPersistenceUnit" transaction-type="RESOURCE_LOCAL">
        <properties>
            <!-- Database connection properties -->
            <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/>
            <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
            <property name="javax.persistence.jdbc.user" value="sa"/>
            <property name="javax.persistence.jdbc.password" value=""/>

            <!-- Hibernate properties -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
        </properties>
    </persistence-unit>
</persistence>

它包含我们数据库的配置。如何连接,在哪里连接,用户名,密码和其他配置。如果您有Spring Boot的经验,它类似于 application.properties 文件。

我们将更详细地查看持久性上下文文件。目前,我们使用JPA的裸露Java项目准备运行。


关注我:TwitterLinkedInGitHub