Spring JPA: หลีกเลี่ยงการเลือกก่อนอัปเดต

ขณะนี้เรากำลังดำเนินการเพิ่มประสิทธิภาพการสืบค้น JPA

ในการใช้งานครั้งหนึ่ง เรารู้ว่าการดำเนินการอัปเดตคาดว่าจะดำเนินการและเรียกใช้เมธอด save(entity) ของ JPA

อย่างไรก็ตาม เมื่อใดก็ตามที่เราเรียก API นี้ คำสั่ง Select จะถูกดำเนินการก่อนที่จะอัปเดตคิวรี

คุณช่วยแนะนำวิธีหลีกเลี่ยงการดำเนินการคำสั่ง Select ดังกล่าวได้ไหม


person Jagrut Dalwadi    schedule 29.05.2020    source แหล่งที่มา


คำตอบ (1)


เราสามารถใช้ JPQL(หรือ Native SQL) กับ @Query

@Repository
public interface MyEntityRepository extends JpaRepository<MyEntity, Long> {

    @Query("update MyEntity as e set e.message = :message where e.id = :id")
    @Modifying
    @Transactional
    void updateWithoutSelect(long id, String message);
}
person DEWA Kazuyuki - 出羽和之    schedule 30.05.2020
comment
ขอบคุณสำหรับการแก้ปัญหา มันได้ผล. อย่างไรก็ตาม คุณช่วยเปลี่ยนเส้นทางเอกสาร JPA ให้ฉันซึ่งแนะนำพฤติกรรมที่แนะนำได้ไหม - person Jagrut Dalwadi; 31.05.2020