我正在尝试使用PostgreSQL
在persistence.xml
中自动创建数据库。我正在使用Gradle构建项目并使用glassfish
进行部署。我在PostgreSQL
上创建了一个名为abc
的数据库,并使用以下详细信息定义了glassfish jdbc
资源中的所有资源。
Setup a Connection Pool first:
- Resources -> JDBC -> JDBC Connection Pools
- Pool Name: demo
- use javax.sql.XADataSource
- use PostGres template
- configure the following properties
- DatabaseName: abc
- PortNumber: 5432
- User: admin
- Password: admin
- Setup a JDBC-Resource using the Connection Pool you have created:
- JNDI Name: jdbc/abc
我的Gradle.properties
包含数据库的以下属性
dbdatasource=org.postgresql.ds.PGSimpleDataSource
dbPort=5432
dbName=abc
dbServerName=localhost
dbUser=admin
dbPassword=admin
我在postgres上创建了一个数据库,该数据库的用户admin
具有所有必需的特权。以下是我的peristence.xml,它位于正确的文件夹中,即(./resource/Meta-INF/)
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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_1_0.xsd">
<persistence-unit name="demo">
<jta-data-source>jdbc/abc</jta-data-source>
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>
当我使用Gradle build命令构建并部署项目时,我带有带有@entity
批注的类,数据库根本没有任何效果。如果我缺少什么,请告诉我。我正在使用eclipse。我非常感谢您的回答。谢谢