[wip] praktikum2
This commit is contained in:
@@ -0,0 +1,38 @@
|
|||||||
|
package org.example.demo.praktikum2;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import javax.naming.Context;
|
||||||
|
import javax.naming.InitialContext;
|
||||||
|
import javax.naming.NamingException;
|
||||||
|
|
||||||
|
public class Client {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
try {
|
||||||
|
|
||||||
|
Properties props = new Properties();
|
||||||
|
props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
|
||||||
|
props.setProperty(Context.PROVIDER_URL, "http-remoting://localhost:8080");
|
||||||
|
|
||||||
|
InitialContext ctx = new InitialContext(props);
|
||||||
|
AdresseServiceRemote adresseService = (AdresseServiceRemote) ctx.lookup( "ejb:/ejb-server-1.0-SNAPSHOT/AdresseService!org.example.demo.praktikum2.AdresseServiceRemote");
|
||||||
|
PersonServiceRemote personService = (PersonServiceRemote) ctx.lookup("ejb:/ejb-server-1.0-SNAPSHOT/PersonService!org.example.demo.praktikum2.PersonServiceRemote");
|
||||||
|
|
||||||
|
var adresse = Adresse.builder().strasse("strasse").plz("plz").ort("ort").build();
|
||||||
|
int adresseId = adresseService.speichereAdresse(adresse);
|
||||||
|
System.out.println("Adresse gespeichert mit ID: " + adresseId);
|
||||||
|
System.out.println("Adresse nach dem Speichern: " + adresse);
|
||||||
|
|
||||||
|
var person = Person.builder().name("max").adresse(List.of(adresse)).build();
|
||||||
|
int personId = personService.speicherePerson(person);
|
||||||
|
System.out.println("Person gespeichert mit ID: " + personId);
|
||||||
|
System.out.println("Person nach dem Speichern: " + person);
|
||||||
|
|
||||||
|
} catch (NamingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -100,6 +100,7 @@
|
|||||||
mermaid-cli
|
mermaid-cli
|
||||||
openjdk
|
openjdk
|
||||||
maven
|
maven
|
||||||
|
lombok
|
||||||
]
|
]
|
||||||
++ latexPackages;
|
++ latexPackages;
|
||||||
|
|
||||||
|
|||||||
+19
-1
@@ -10,16 +10,34 @@
|
|||||||
<artifactId>ejb-server</artifactId>
|
<artifactId>ejb-server</artifactId>
|
||||||
<packaging>ejb</packaging>
|
<packaging>ejb</packaging>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- Jakarta EE 10 API (wird von WildFly bereitgestellt) -->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>jakarta.platform</groupId>
|
<groupId>jakarta.platform</groupId>
|
||||||
<artifactId>jakarta.jakartaee-api</artifactId>
|
<artifactId>jakarta.jakartaee-api</artifactId>
|
||||||
<version>10.0.0</version>
|
<version>10.0.0</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.46</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<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>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-ejb-plugin</artifactId>
|
<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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user