Thẻ

#jpa

99 Ngày Spring — Ngày 26: Quan hệ N-N

Ngày 26 của 99 Ngày Spring: quan hệ N-N luôn sống trong bảng trung gian — @ManyToMany với @JoinTable cho quan hệ thuần túy, owning side và Set với luật cascade cấm REMOVE trên tài nguyên chia sẻ, và entity trung gian tách N-N thành hai lần 1-N khi quan hệ cần cột riêng, ....

22 thg 8, 20267 phút19
99 Ngày Spring — Ngày 25: Quan hệ 1-1 & 1-N

Ngày 25 của 99 Ngày Spring: ánh xạ quan hệ với @ManyToOne giữ khóa ngoại ở phía nhiều (và vì sao phải LAZY từ đầu), @OneToMany với mappedBy làm tấm gương đọc, owning side — phía duy nhất JPA lắng nghe khi ghi, cùng cascade và orphanRemoval cho quan hệ sở hữu trọn vẹn.

21 thg 8, 20266 phút19
99 Ngày Spring — Ngày 24: Query methods & @Query

Ngày 24 của 99 Ngày Spring: vượt ranh giới derived query với @Query — JPQL truy vấn trên entity với lưới an toàn fail-fast lúc khởi động, bind tham số theo tên làm hàng rào chống SQL injection, native query cho tính năng riêng của DB kèm đánh đổi, và @Modifying cho bulk update đi thẳng xuống DB.

20 thg 8, 20266 phút34
99 Ngày Spring — Ngày 23: Spring Data JPA repository

Ngày 23 của 99 Ngày Spring: Spring Data JPA repository — JpaRepository với bộ CRUD có sẵn trên một interface trống, phả hệ Repository → CrudRepository → JpaRepository và cơ chế proxy trên SimpleJpaRepository, derived query sinh truy vấn từ tên method với lưới fail-fast lúc khởi động.

19 thg 8, 20266 phút31
99 Ngày Spring — Ngày 22: Entity mapping cơ bản

Ngày 22 của 99 Ngày Spring: entity đầu tiên với @Entity/@Id và lý do bắt buộc no-arg constructor (entity là class, không phải record), chiến lược sinh khóa IDENTITY vs SEQUENCE trên PostgreSQL, @Column với ràng buộc và ánh xạ kiểu — wrapper cho cột nullable, cùng show-sql và quy ước snake_case.

18 thg 8, 20266 phút129
99 Ngày Spring — Ngày 21: JPA & Hibernate tổng quan

Ngày 21 của 99 Ngày Spring, mở đầu giai đoạn Spring Data JPA: impedance mismatch giữa đối tượng và bảng quan hệ, phân vai JPA (đặc tả) — Hibernate (cài đặt) — Spring Data JPA (tầng tiện ích), EntityManager với persistence context, và lựa chọn ddl-auto đúng cho từng môi trường.

17 thg 8, 20267 phút36