【Spring】JPAで生のクエリを使いたい場合【JPA】

JPA
  • 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]こともできる。

コメント

タイトルとURLをコピーしました