Skip to content

Commit 5dde869

Browse files
committed
Added Activity 17A Application - Unit 15
1 parent 0ad2124 commit 5dde869

File tree

4 files changed

+194
-0
lines changed

4 files changed

+194
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
package unit15.jpa.Actividad17A_Aplicacion;
3+
4+
import java.io.Serializable;
5+
import javax.persistence.Entity;
6+
import javax.persistence.GeneratedValue;
7+
import javax.persistence.Id;
8+
9+
10+
@Entity
11+
public class Articulo implements Serializable {
12+
@Id
13+
@GeneratedValue
14+
private Integer id;
15+
private String titulo;
16+
private Integer año;
17+
private Integer numPalabras;
18+
19+
public Articulo(String titulo, Integer año, Integer numPalabras) {
20+
this.titulo = titulo;
21+
this.año = año;
22+
this.numPalabras = numPalabras;
23+
}
24+
25+
public Articulo() {
26+
}
27+
28+
public Integer getId() {
29+
return id;
30+
}
31+
32+
public void setId(Integer id) {
33+
this.id = id;
34+
}
35+
36+
public String getTitulo() {
37+
return titulo;
38+
}
39+
40+
public void setTitulo(String titulo) {
41+
this.titulo = titulo;
42+
}
43+
44+
public Integer getAño() {
45+
return año;
46+
}
47+
48+
public void setAño(Integer año) {
49+
this.año = año;
50+
}
51+
52+
public Integer getNumPalabras() {
53+
return numPalabras;
54+
}
55+
56+
public void setNumPalabras(Integer numPalabras) {
57+
this.numPalabras = numPalabras;
58+
}
59+
60+
@Override
61+
public String toString() {
62+
return "Articulo{" + "id=" + id + ", titulo=" + titulo +
63+
", a\u00f1o=" + año + ", numPalabras=" + numPalabras + '}';
64+
}
65+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package unit15.jpa.Actividad17A_Aplicacion;
2+
3+
import java.util.List;
4+
import javax.persistence.EntityManager;
5+
import javax.persistence.EntityManagerFactory;
6+
import javax.persistence.Persistence;
7+
import javax.persistence.Query;
8+
9+
10+
public class Main {
11+
12+
public static void main(String[] args) {
13+
EntityManagerFactory emf;
14+
emf = Persistence.createEntityManagerFactory("PeriodistasPU");
15+
16+
EntityManager em = emf.createEntityManager();
17+
String jpql = "SELECT p FROM Periodista p WHERE p.articulos IS EMPTY";
18+
Query query = em.createQuery(jpql);
19+
20+
System.out.println("Periodistas sin artículos");
21+
List<Periodista> lista = query.getResultList();
22+
for (Periodista a : lista) {
23+
System.out.println(a);
24+
}
25+
26+
27+
jpql = "SELECT p FROM Periodista p WHERE SIZE(p.articulos) > 2";
28+
query = em.createQuery(jpql);
29+
30+
System.out.println("Periodista que tienen más de 2 artículos");
31+
lista = query.getResultList();
32+
33+
for (Periodista p : lista) {
34+
System.out.println(p);
35+
}
36+
37+
}
38+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package unit15.jpa.Actividad17A_Aplicacion;
2+
3+
import java.io.Serializable;
4+
import java.util.LinkedList;
5+
import java.util.List;
6+
import javax.persistence.CascadeType;
7+
import javax.persistence.Entity;
8+
import javax.persistence.Id;
9+
import javax.persistence.OneToMany;
10+
11+
12+
@Entity
13+
public class Periodista implements Serializable {
14+
private String nombre;
15+
@Id
16+
private String dni; //clave
17+
private String numTel;
18+
19+
20+
@OneToMany(cascade = CascadeType.ALL)
21+
private List<Articulo> articulos;
22+
23+
public Periodista(String nombre, String dni, String numTel) {
24+
this.nombre = nombre;
25+
this.dni = dni;
26+
this.numTel = numTel;
27+
this.articulos = new LinkedList<>();
28+
}
29+
30+
public Periodista() {
31+
}
32+
33+
34+
public void addArticulo(Articulo a) {
35+
articulos.add(a);
36+
}
37+
38+
public String getNombre() {
39+
return nombre;
40+
}
41+
42+
public void setNombre(String nombre) {
43+
this.nombre = nombre;
44+
}
45+
46+
public String getDni() {
47+
return dni;
48+
}
49+
50+
public void setDni(String dni) {
51+
this.dni = dni;
52+
}
53+
54+
public String getNumTel() {
55+
return numTel;
56+
}
57+
58+
public void setNumTel(String numTel) {
59+
this.numTel = numTel;
60+
}
61+
62+
63+
@Override
64+
65+
public String toString() {
66+
return "Periodista{" + "nombre=" + nombre + ", dni=" + dni + ", numTel=" + numTel + '}';
67+
}
68+
69+
public List<Articulo> getArticulos() {
70+
return articulos;
71+
}
72+
73+
public void setArticulos(List<Articulo> articulos) {
74+
this.articulos = articulos;
75+
}
76+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<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">
3+
<persistence-unit name="PeriodistasPU" transaction-type="RESOURCE_LOCAL">
4+
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
5+
<class>codigo.Periodista</class>
6+
<class>codigo.Articulo</class>
7+
<properties>
8+
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/Persistencia?zeroDateTimeBehavior=convertToNull"/>
9+
<property name="javax.persistence.jdbc.user" value="usuario"/>
10+
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
11+
<property name="javax.persistence.jdbc.password" value="usuario12345"/>
12+
<property name="javax.persistence.schema-generation.database.action" value="create"/>
13+
</properties>
14+
</persistence-unit>
15+
</persistence>

0 commit comments

Comments
 (0)