Hallo zusammen,
ich hocke jetzt schon etwas länger an diesem Problem und hoffe das mir vielleicht eine(r) von euch helfen kann.
Mein Problem:
Ich möchte mit EclipseLink Daten aus einer bestehenden Tabelle (mit dem Namen: Translation) einer bestehenden Datenbank auslesen. Leider bekomme ich bei meinem JUnit Test (ich weis den muss man anders aufbauen, aber erstmal für die Funktionalität reicht es) nur einen erfolgreichen Test, aber keinen Output mit den angeforderten Werten. Zudem wird auf der Datenbank einfach eine neue Tabelle (mit dem Namen: translation) erstellt.
Hier der Code:
persistence.xml
Translation.java
DatabaseConnectionTest.java -> JUnit Test
Vielen Dank schon einmal im Voraus!
ich hocke jetzt schon etwas länger an diesem Problem und hoffe das mir vielleicht eine(r) von euch helfen kann.
Mein Problem:
Ich möchte mit EclipseLink Daten aus einer bestehenden Tabelle (mit dem Namen: Translation) einer bestehenden Datenbank auslesen. Leider bekomme ich bei meinem JUnit Test (ich weis den muss man anders aufbauen, aber erstmal für die Funktionalität reicht es) nur einen erfolgreichen Test, aber keinen Output mit den angeforderten Werten. Zudem wird auf der Datenbank einfach eine neue Tabelle (mit dem Namen: translation) erstellt.
Hier der Code:
persistence.xml
Java:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="uebersetzungstool_PU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.mycompany.uebersetzungstool.entity.Translation</class>
<properties>
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://localhost/postgres"/>
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="jakarta.persistence.jdbc.user" value="postgresuser"/>
<property name="jakarta.persistence.jdbc.password" value="pwd"/>
<property name="jakarta.persistence.schema-generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>
Translation.java
Java:
package com.mycompany.uebersetzungstool.entity;
import java.io.Serializable;
import jakarta.persistence.*;
@Entity
public class Translation implements Serializable {
@Id
private int id;
private String key;
private String value;
private String language;
private String project;
private String version;
private String comment;
private boolean translated;
private String create_ts;
private String create_user;
private String update_ts;
private String update_user;
public Translation() {
}
public Translation(int id, String key, String value, String language, String project, String version, String comment, boolean translated, String create_ts, String create_user, String update_ts, String update_user) {
this.id = id;
this.key = key;
this.value = value;
this.language = language;
this.project = project;
this.version = version;
this.comment = comment;
this.translated = translated;
this.create_ts = create_ts;
this.create_user = create_user;
this.update_ts = update_ts;
this.update_user = update_user;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public boolean isTranslated() {
return translated;
}
public void setTranslated(boolean translated) {
this.translated = translated;
}
public String getCreate_ts() {
return create_ts;
}
public void setCreate_ts(String create_ts) {
this.create_ts = create_ts;
}
public String getCreate_user() {
return create_user;
}
public void setCreate_user(String create_user) {
this.create_user = create_user;
}
public String getUpdate_ts() {
return update_ts;
}
public void setUpdate_ts(String update_ts) {
this.update_ts = update_ts;
}
public String getUpdate_user() {
return update_user;
}
public void setUpdate_user(String update_user) {
this.update_user = update_user;
}
}
DatabaseConnectionTest.java -> JUnit Test
Java:
import com.mycompany.uebersetzungstool.entity.Translation;
import org.junit.jupiter.api.Test;
import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import java.util.List;
public class DatabaseConnectionTest {
@Test
public void connectionTest() {
try {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("uebersetzungstool_PU");
EntityManager em = emf.createEntityManager();
List<Translation> translations = em.createNativeQuery("SELECT t FROM Translation t", Translation.class).getResultList();
for (Translation translation : translations) {
System.out.println(translation.getProject() + " " + translation.getVersion());
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
Vielen Dank schon einmal im Voraus!