Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 5dde869

Browse files
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)

AltStyle によって変換されたページ (->オリジナル) /