diff --git a/java/roomBooking/src/main/java/com/uva/roomBooking/Controllers/BookingController.java b/java/roomBooking/src/main/java/com/uva/roomBooking/Controllers/BookingController.java
index 5677526ffade16bc0298de537cdf9f42f79c8213..84376955ee8c7f04ac4a241f55dbdda053f20761 100644
--- a/java/roomBooking/src/main/java/com/uva/roomBooking/Controllers/BookingController.java
+++ b/java/roomBooking/src/main/java/com/uva/roomBooking/Controllers/BookingController.java
@@ -9,6 +9,7 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/bookings")
+@CrossOrigin(origins = "http://localhost:4200")
 public class BookingController {
 
     private final BookingRepository bookingRepository;
diff --git a/java/roomBooking/src/main/java/com/uva/roomBooking/Exceptions/GlobalExceptionHandler.java b/java/roomBooking/src/main/java/com/uva/roomBooking/Exceptions/GlobalExceptionHandler.java
index 4928a37eb55d2d6319e11c55b13b2cd3a2863531..ba79c4e18fe2e79a993494598b9631c897efda70 100644
--- a/java/roomBooking/src/main/java/com/uva/roomBooking/Exceptions/GlobalExceptionHandler.java
+++ b/java/roomBooking/src/main/java/com/uva/roomBooking/Exceptions/GlobalExceptionHandler.java
@@ -1,4 +1,4 @@
-package com.uva.roomBooking.exceptions;
+package com.uva.roomBooking.Exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
diff --git a/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Booking.java b/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Booking.java
index 573bde806cf28ffba375f41331b8f32bdc8d9715..5b6dc29e1fddae995f4ef68a480ef4fedc45102d 100644
--- a/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Booking.java
+++ b/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Booking.java
@@ -2,8 +2,6 @@ package com.uva.roomBooking.Models;
 
 import java.util.Date;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
 import jakarta.persistence.Basic;
 import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
@@ -25,7 +23,7 @@ public class Booking {
     @Basic(optional = false)
     private int id;
     @JoinColumn(name = "user_id", referencedColumnName = "id")
-    @ManyToOne(optional = false, fetch = FetchType.LAZY)
+    @ManyToOne(optional = false, fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
     private User userId;
     @JoinColumn(name = "room_id", referencedColumnName = "id")
     @ManyToOne(optional = false, fetch = FetchType.LAZY)
@@ -35,7 +33,8 @@ public class Booking {
     @Column(name = "end_date", nullable = false)
     private Date endDate;
 
-    public Booking(int id, User userId, Room roomID, Date startDate, Date endDate) {
+
+    public Booking (int id, User userId, Room roomID, Date startDate, Date endDate) {
         this.id = id;
         this.userId = userId;
         this.roomID = roomID;
@@ -43,43 +42,46 @@ public class Booking {
         this.endDate = endDate;
     }
 
-    public void setId(int id) {
+    public void setId (int id) {
         this.id = id;
     }
 
-    public int getId() {
+    public int getId () {
         return this.id;
     }
 
-    public void setUser(User userId) {
+    public void setUser (User userId) {
         this.userId = userId;
     }
 
-    public User getUser() {
+    public User getUser () {
         return this.userId;
     }
 
-    public void setRoom(Room roomID) {
+    public void setRoom (Room roomID) {
         this.roomID = roomID;
     }
 
-    public Room getRoom() {
+    public Room getRoom () {
         return this.roomID;
     }
 
-    public void setStartDate(Date startDate) {
+    public void setStartDate (Date startDate) {
         this.startDate = startDate;
     }
 
-    public Date getStartDate() {
+    public Date getStartDate () {
         return this.startDate;
     }
 
-    public void setEndDate(Date endDate) {
+    public void setEndDate (Date endDate) {
         this.endDate = endDate;
     }
 
-    public Date getEndDate() {
+    public Date getEndDate () {
         return this.endDate;
     }
+
+
 }
+
diff --git a/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Hotel.java b/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Hotel.java
index 3a4e6db614d0d2f90c7f489ccb9736bbe5861a7d..5a23005de99c022b5fff9570e2c515fcfc75e07e 100644
--- a/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Hotel.java
+++ b/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Hotel.java
@@ -35,7 +35,7 @@ public class Hotel {
   @OneToOne(optional = false, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
   private Address address;
 
-  @OneToMany(mappedBy = "hotelId", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+  @OneToMany(mappedBy = "hotel", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
   private List<Room> rooms;
 
   public Hotel() {
diff --git a/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Room.java b/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Room.java
index 8f8d6c266b8552f73bd20a35ebcbe7f2977dac91..7c47003f020e696a157343c2ad02ff32866bd103 100644
--- a/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Room.java
+++ b/java/roomBooking/src/main/java/com/uva/roomBooking/Models/Room.java
@@ -32,7 +32,7 @@ public class Room {
     @ManyToOne
     @JoinColumn(name = "hotel_id", referencedColumnName = "id")
     @JsonIgnore
-    private Hotel hotelId;
+    private Hotel hotel;
     @Column(name = "room_number", nullable = false)
     private int roomNumber;
     @Column(name = "type", nullable = false)
@@ -48,7 +48,7 @@ public class Room {
 
     public Room(int id, Hotel hotelId, int roomNumber, Tipo type, boolean available, List<Booking> bookings) {
         this.id = id;
-        this.hotelId = hotelId;
+        this.hotel = hotelId;
         this.roomNumber = roomNumber;
         this.type = type;
         this.available = available;
@@ -64,11 +64,11 @@ public class Room {
     }
 
     public void setHotel(Hotel hotelId) {
-        this.hotelId = hotelId;
+        this.hotel = hotelId;
     }
 
     public Hotel getHotel() {
-        return this.hotelId;
+        return this.hotel;
     }
 
     public void setRoomNumber(int roomNumber) {
diff --git a/java/roomBooking/src/main/java/com/uva/roomBooking/Repositories/RoomRepository.java b/java/roomBooking/src/main/java/com/uva/roomBooking/Repositories/RoomRepository.java
index af5432b1aa4434732775b4232a2abb5bfc5086c5..966448f697544de8c9f4f66ffa5b05d66dd2bd26 100644
--- a/java/roomBooking/src/main/java/com/uva/roomBooking/Repositories/RoomRepository.java
+++ b/java/roomBooking/src/main/java/com/uva/roomBooking/Repositories/RoomRepository.java
@@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
 import java.util.List;
+import java.util.Optional;
 
 public interface RoomRepository extends JpaRepository<Room, Integer> {
 
@@ -16,23 +17,24 @@ public interface RoomRepository extends JpaRepository<Room, Integer> {
 
     // Borrar todas las habitaciones asociadas a un hotel
     @Transactional
+    @Modifying
     void deleteAllByHotelId(int hotelId);
 
     // Encontrar habitaciones disponibles de un hotel en un rango de fechas
     @Query("""
-        SELECT r FROM Room r 
-        WHERE r.hotel.id = :hotelId 
-        AND r.available = true 
-        AND NOT EXISTS (
-            SELECT b FROM Booking b 
-            WHERE b.room.id = r.id 
-            AND (b.startDate <= :endDate AND b.endDate >= :startDate)
-        )
-    """)
+    SELECT r FROM Room r 
+    WHERE r.hotel.id = :hotelId 
+    AND r.available = true 
+    AND NOT EXISTS (
+        SELECT b FROM Booking b 
+        WHERE b.roomID.id = r.id 
+        AND (b.startDate <= :endDate AND b.endDate >= :startDate)
+    )
+""")
     List<Room> findAvailableRoomsByHotelAndDates(
         int hotelId, LocalDate startDate, LocalDate endDate);
 
     // Encontrar una habitación específica por hotel y su ID
     @Query("SELECT r FROM Room r WHERE r.hotel.id = :hotelId AND r.id = :roomId")
-Optional<Room> findByHotelIdAndRoomId(int hotelId, int roomId);
+    Optional<Room> findByHotelIdAndRoomId(int hotelId, int roomId);
 }