La tabla se especifica dos veces, tanto como destino para 'ACTUALIZAR' como como fuente de datos separada
Yo uso spring-jpa con implementación de hibernación. Uso mariadb e intento hacer una subconsulta de actualización
Mi estructura de objeto
@Entity
public class Room {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long roomId;
@ManyToOne
@JoinColumn(name = "appartment_id")
private Appartment appartment;
}
@Entity
public class Appartment {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long appartmentId;
@OneToMany
@JoinColumn(name="appartment_id")
private Set<Room> roomList;
}
update Room r1
set r1.available = :availability
where r1.roomId in
( select r2.roomId from Room r2 JOIN r2.appartment a1 WHERE a1.appartmentId = :appartmentId )
Me sale este error
java.sql.SQLException: la tabla 'room' se especifica dos veces, tanto como destino para 'UPDATE' como como fuente de datos separada