Commit d40f6cbc by Antonio Rueda

Añadida dependencia de JPA, propiedades de conexión a SQL y

mapeado de entidades
parent a65ba441
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<actionName>run</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:3.1.0:exec</goal>
</goals>
<properties>
<exec.vmArgs></exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.appArgs></exec.appArgs>
<exec.mainClass>es.ujaen.dae.reservahoteles.app.ReservaHoteles</exec.mainClass>
<exec.executable>java</exec.executable>
</properties>
</action>
<action>
<actionName>debug</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:3.1.0:exec</goal>
</goals>
<properties>
<exec.vmArgs>-agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address}</exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.appArgs></exec.appArgs>
<exec.mainClass>es.ujaen.dae.reservahoteles.app.ReservaHoteles</exec.mainClass>
<exec.executable>java</exec.executable>
<jpda.listen>true</jpda.listen>
</properties>
</action>
<action>
<actionName>profile</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:3.1.0:exec</goal>
</goals>
<properties>
<exec.vmArgs></exec.vmArgs>
<exec.args>${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}</exec.args>
<exec.mainClass>es.ujaen.dae.reservahoteles.app.ReservaHoteles</exec.mainClass>
<exec.executable>java</exec.executable>
<exec.appArgs></exec.appArgs>
</properties>
</action>
</actions>
......@@ -2,8 +2,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>es.ujaen.dae</groupId>
<artifactId>ReservaHoteles</artifactId>
<artifactId>reserva-hoteles</artifactId>
<name>ReservaHoteles</name>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<java.version>18</java.version>
......@@ -29,6 +31,16 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
......
......@@ -3,14 +3,19 @@ package es.ujaen.dae.reservahoteles.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
*
* @author ajrueda
*/
@SpringBootApplication(scanBasePackages="es.ujaen.dae.reservahoteles.servicios")
@EnableScheduling
@SpringBootApplication(scanBasePackages={
"es.ujaen.dae.reservahoteles.servicios",
"es.ujaen.dae.reservahoteles.repositorios"
})
@EntityScan(basePackages="es.ujaen.dae.reservahoteles.entidades")
//@EnableScheduling
public class ReservaHoteles {
public static void main(String[] args) {
SpringApplication.run(ReservaHoteles.class);
......
......@@ -3,6 +3,12 @@ package es.ujaen.dae.reservahoteles.entidades;
import es.ujaen.dae.reservahoteles.excepciones.ReservaNoValida;
import es.ujaen.dae.reservahoteles.excepciones.NoDisponibilidadReserva;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToMany;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Positive;
......@@ -15,8 +21,11 @@ import java.util.List;
*
* @author ajrueda
*/
@Entity
public class Hotel {
@Positive
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
int id;
@NotBlank
String nombre;
......@@ -41,6 +50,8 @@ public class Hotel {
@PositiveOrZero
int precioHabDoble;
@OneToMany
@JoinColumn(name = "hotel_id")
List<Reserva> reservas;
public Hotel(int id, String nombre, String localidad, String provincia, String cp, int numHabSimple, int numHabDoble, int precioHabSimple, int precioHabDoble) {
......
package es.ujaen.dae.reservahoteles.entidades;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.PositiveOrZero;
......@@ -10,8 +15,11 @@ import java.time.LocalDate;
*
* @author ajrueda
*/
@Entity
public class Reserva {
// clave
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Positive
int num;
......@@ -26,6 +34,7 @@ public class Reserva {
int numHabDoble;
@NotNull
@ManyToOne
Usuario cliente;
public Reserva(int num, Usuario cliente, LocalDate fechaInicio, LocalDate fechaFin, int numHabSimple, int numHabDoble) {
......
package es.ujaen.dae.reservahoteles.entidades;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
......@@ -9,6 +11,7 @@ import jakarta.validation.constraints.Pattern;
*
* @author ajrueda
*/
@Entity
public class Usuario {
@NotBlank
String nombre;
......@@ -19,12 +22,17 @@ public class Usuario {
String tlf;
// Clave
@Id
@Email
String email;
@NotBlank
String clave;
public Usuario() {
}
public Usuario(String nombre, String direccion, String tlf, String email, String clave) {
this.nombre = nombre;
this.direccion = direccion;
......
meses-historico: 3
\ No newline at end of file
meses-historico: 3
spring.datasource.url: jdbc:mysql://localhost:3306/reservas
spring.datasource.username: reservas_usr
spring.datasource.password: secret
spring.jpa.properties.jakarta.persistence.schema-generation.database.action: drop-and-create
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment