- JPQLは自由度が高くなく、複雑な結合などを表現するのは難しいので、そんな場合はnativeクエリを利用すればいい。
import com.example.demo.entity.Room;
public interface RoomRepository extends JpaRepository<Room, Integer> {
@Query(value = "select * from room r left outer join equipment e on r.id = e.roomId where r.id = :id order by e.id"
nativeQuery = true)
List<Room> find(@Param("id")int id);
}
@Queryアノテーション内のnativeQuery = trueにする。また、@Paramアノテーションで引数のパラメータをSQLに埋め込む[:id]こともできる。
コメント