[wip] praktikum2

This commit is contained in:
2026-05-07 07:36:05 +02:00
parent 0451f187f5
commit 4ad1f88623
12 changed files with 227 additions and 1 deletions
+19 -1
View File
@@ -10,16 +10,34 @@
<artifactId>ejb-server</artifactId>
<packaging>ejb</packaging>
<dependencies>
<!-- Jakarta EE 10 API (wird von WildFly bereitgestellt) -->
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>10.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.46</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.46</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
@@ -0,0 +1,31 @@
package org.example.demo.praktikum2;
import java.io.Serializable;
import jakarta.persistence.*;
import lombok.*;
@Entity
@ToString
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Adresse implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@SuppressWarnings("unused")
private String strasse;
@SuppressWarnings("unused")
private String plz;
@SuppressWarnings("unused")
private String ort;
@ManyToOne
private Person person;
}
@@ -0,0 +1,18 @@
package org.example.demo.praktikum2;
import jakarta.ejb.Stateless;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
@Stateless
public class AdresseService implements AdresseServiceRemote {
@PersistenceContext
private EntityManager em;
@Override
public int speichereAdresse(Adresse m) {
em.persist(m);
return m.getId();
}
}
@@ -0,0 +1,8 @@
package org.example.demo.praktikum2;
import jakarta.ejb.Remote;
@Remote
public interface AdresseServiceRemote {
int speichereAdresse(Adresse m);
}
@@ -0,0 +1,27 @@
package org.example.demo.praktikum2;
import java.io.Serializable;
import java.util.List;
import jakarta.persistence.*;
import lombok.*;
@Entity
@ToString
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Firma implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@SuppressWarnings("unused")
private String name;
@Singular("adresse")
@OneToMany(mappedBy="firma")
private List<Person> person;
}
@@ -0,0 +1,18 @@
package org.example.demo.praktikum2;
import jakarta.ejb.Stateless;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
@Stateless
public class FirmaService implements FirmaServiceRemote {
@PersistenceContext
private EntityManager em;
@Override
public int speichereFirma(Firma m) {
em.persist(m);
return m.getId();
}
}
@@ -0,0 +1,11 @@
package org.example.demo.praktikum2;
import java.util.List;
import jakarta.ejb.Remote;
@Remote
public interface FirmaServiceRemote {
int speichereFirma(Firma m);
// List<Firma> listFirmen();
}
@@ -0,0 +1,30 @@
package org.example.demo.praktikum2;
import java.io.Serializable;
import java.util.List;
import jakarta.persistence.*;
import lombok.*;
@Entity
@ToString
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Person implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@SuppressWarnings("unused")
private String name;
@ManyToOne
private Firma firma;
@Singular("adresse")
@OneToMany(mappedBy="person")
private List<Adresse> adresse;
}
@@ -0,0 +1,18 @@
package org.example.demo.praktikum2;
import jakarta.ejb.Stateless;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
@Stateless
public class PersonService implements PersonServiceRemote {
@PersistenceContext
private EntityManager em;
@Override
public int speicherePerson(Person m) {
em.persist(m);
return m.getId();
}
}
@@ -0,0 +1,8 @@
package org.example.demo.praktikum2;
import jakarta.ejb.Remote;
@Remote
public interface PersonServiceRemote {
int speicherePerson(Person m);
}