diff --git a/BE/src/main/java/com/codesquad/airbnb/infra/dao/UtilDAO.java b/BE/src/main/java/com/codesquad/airbnb/infra/dao/UtilDAO.java index 97945c0..68a4bba 100644 --- a/BE/src/main/java/com/codesquad/airbnb/infra/dao/UtilDAO.java +++ b/BE/src/main/java/com/codesquad/airbnb/infra/dao/UtilDAO.java @@ -21,7 +21,7 @@ public UtilDAO(DataSource dataSource) { public Boolean canReserve(Long roomId, LocalDate checkInDate, LocalDate checkOutDate) { - String sql = "SELECT count(*) AS count FROM rooms r INNER JOIN dates d on r.room_id = d.room_id WHERE ((? BETWEEN d.check_in_date AND d.check_out_date ) OR (? BETWEEN d.check_in_date AND d.check_out_date )) AND r.room_id = ? GROUP BY r.room_id"; + String sql = "SELECT count(*) AS count FROM rooms r INNER JOIN dates d on r.room_id = d.room_id WHERE ((? BETWEEN d.check_in_date AND d.check_out_date ) OR (? BETWEEN d.check_in_date AND d.check_out_date ) OR (? < d.check_in_date AND ? > d.check_out_date)) AND r.room_id = ? GROUP BY r.room_id"; ResultSetExtractor resultSetExtractor = new ResultSetExtractor() { @Override @@ -30,6 +30,6 @@ public Boolean extractData(ResultSet rs) throws SQLException, DataAccessExceptio } }; - return this.jdbcTemplate.query(sql, new Object[]{checkInDate, checkOutDate, roomId}, resultSetExtractor); + return this.jdbcTemplate.query(sql, new Object[]{checkInDate, checkOutDate, checkInDate, checkOutDate, roomId}, resultSetExtractor); } }