CrudRepository และที่เก็บ JPA เป็นอินเทอร์เฟซของไลบรารีที่เก็บข้อมูลสปริง ที่เก็บข้อมูล Spring ลดโค้ดสำเร็จรูปโดยจัดเตรียมโปรแกรมค้นหาที่กำหนดไว้ล่วงหน้าบางส่วนเพื่อเข้าถึงชั้นข้อมูลสำหรับเลเยอร์การคงอยู่ต่างๆ
ที่เก็บ JPA ขยายที่เก็บ CrudRepository และ PagingAndSorting มันสืบทอดตัวค้นหาบางตัวจากที่เก็บ crud เช่น findOne รับและลบเอนทิตี นอกจากนี้ยังมีวิธีการพิเศษบางอย่างที่เกี่ยวข้องกับ JPA เช่น การลบเร็กคอร์ดในชุดงาน การล้างข้อมูลไปยังฐานข้อมูลโดยตรง และวิธีการที่เกี่ยวข้องกับการแบ่งหน้าและการเรียงลำดับ
เราจำเป็นต้องขยายพื้นที่เก็บข้อมูลนี้ในแอปพลิเคชันของเรา จากนั้นเราจึงสามารถเข้าถึงวิธีการทั้งหมดที่มีอยู่ในที่เก็บเหล่านี้ นอกจากนี้เรายังสามารถเพิ่มวิธีการใหม่โดยใช้การสืบค้นแบบมีชื่อหรือแบบเนทีฟตามความต้องการทางธุรกิจ
ซีเนียร์ เลขที่ | คีย์ | JPARepository | CrudRepository |
---|---|---|---|
1 | ลำดับชั้น | JPA ขยายพื้นที่เก็บข้อมูล crudRepository และ PagingAndSorting | Crud Repository เป็นอินเทอร์เฟซพื้นฐานและทำหน้าที่เป็นส่วนต่อประสานตัวทำเครื่องหมาย |
2 | รองรับแบทช์ | JPA ยังมีวิธีการพิเศษบางอย่างที่เกี่ยวข้องกับ JPA เช่น การลบเร็กคอร์ดในแบตช์และการล้างข้อมูลไปยังฐานข้อมูลโดยตรง | มีเฉพาะฟังก์ชัน CRUD เช่น findOne บันทึก ฯลฯ |
3 | รองรับการแบ่งหน้า | ที่เก็บ JPA ยังขยายที่เก็บ PagingAndSorting ด้วย มันมีวิธีการทั้งหมดที่เป็นประโยชน์สำหรับการใช้การแบ่งหน้า | Crud Repository ไม่มีวิธีการสำหรับการใช้การแบ่งหน้าและการเรียงลำดับ |
4 | ใช้ตัวพิมพ์ | JpaRepository เชื่อมโยงที่เก็บของคุณกับเทคโนโลยีการคงอยู่ของ JPA ดังนั้นจึงควรหลีกเลี่ยง | เราควรจะใช้ CrudRepository หรือ PagingAndSortingRepository ขึ้นอยู่กับว่าคุณต้องการ sorting และ paging หรือไม่ |
ตัวอย่างของ JpaRepository
@Repository public interface BookDAO extends JpaRepository { Book findByAuthor(@Param("id") Integer id); }
ตัวอย่าง CrudRepository
@Repository public interface BookDAO extends CrudRepository { Book Event findById(@Param("id") Integer id); }