Я использовал Apache Derby в качестве базы данных для школьного проекта, но я хочу переключиться на PostgreSQL для моего нового личного проекта, поскольку, насколько я понял, он намного лучше в производстве окружающая обстановка. Я пытаюсь создать RESTAPI на Джерси, работающем на сервере Paraya.
В моем последнем проекте с использованием базы данных Derby Apache все таблицы создавались автоматически из сущностей при развертывании. Однако я не могу заставить это работать с базой данных PostgreSQL. Это невозможно или я что-то не так делаю? Если я что-то делаю неправильно, я предполагаю, что ошибка заключается в файле постоянства. xml (возможно, в файле glassfi sh -resources. xml).
постоянство. xml
<?xml version="1.0" encoding="UTF-8"?>
<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" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="WikiDB" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<properties>
<property name="javax.persistence.target-database" value="PostgreSQL" />
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/wiki"/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="javax.persistence.jdbc.user" value="john.blaberg"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="database"/>
</properties>
</persistence-unit>
</persistence>
glassfi sh -ресурсы. xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Payara.fish//DTD Payara Server 5 Resource Definitions//EN"
"https://raw.githubusercontent.com/payara/Payara-Server-Documentation/master/schemas/payara-resources_1_6.dtd">
<resources>
<jdbc-connection-pool datasource-classname="org.postgresql.ds.PGConnectionPoolDataSource"
res-type="javax.sql.ConnectionPoolDataSource">
<property name="serverName" value="localhost"/>
<property name="portNumber" value="5432"/>
<property name="databaseName" value="wiki"/>
<property name="Account Name" value="test_username"/>
<property name="Password" value="test_password"/>
<property name="driverClass" value="org.postgresql.Driver"/>
</jdbc-connection-pool>
<jdbc-resource enabled="true" jndi-name="jdbc/wiki"
object-type="user" pool-name="PostPool"/>
</resources>
И моя сущность:
@Data
@Entity
@NoArgsConstructor
public class Brand {
@Id @GeneratedValue
private Long id;
private String brandName;
public Brand(String brandName){
this.brandName = brandName;
}
}
Я не получаю сообщений об ошибках, когда я развертывание приложения.