Tìm hiểu về annotation @Id trong JPA

Trong bài viết này, mình sẽ đề cập một trong những annotation cơ bản để làm việc với mapping các cột của bảng trong database, đó là annotation @Id trong JPA.

Chúng ta đi thẳng vào vấn đề luôn nhé các bạn.

Annotation này được khai báo để xác định đâu là thuộc tính primary key của entity tương ứng với các cột primary key trong bảng. Ví dụ thường thường chúng ta lấy cột id làm primary key trong bảng thì khi mapping với Java entity object, chúng ta sẽ thêm @Id annotation đi kèm với thuộc tính tương ứng với cột id này.

Ví dụ như mình có entity sau:

Một entity bắt buộc phải có ít nhất một thuộc tính primary key đi kèm với @Id annotation. Nếu các bạn không khai báo bất kỳ một @Id annotation nào, khi chạy các bạn sẽ gặp lỗi ngay.

Ví dụ, nếu giờ mình comment cái @Id annotation của thuộc tính id trong lớp Clazz, khi chạy mình bị lỗi sau:

Chúng ta có thể sử dụng nhiều kiểu dữ liệu của Java cho thuộc tính là primary key của entity. Cụ thể như sau:

  • Primitive: byte, int, short, long, char.
  • Wrapper của primitive: Byte, Integer, Short, Long, Character.
  • String, BigInteger.
  • java.util.Date, java.sql.Date

Ngoài ra, chúng ta còn có thể sử dụng floatdouble cũng như các wrapper của những primitive này như Float, Double, BigDecimal nhưng những kiểu dữ liệu này chúng ta không nên dùng bởi vì đây là những giá trị thập phân, dễ xảy ra lỗi khi làm tròn.


4.5/5 - (4 bình chọn)

One thought on “Tìm hiểu về annotation @Id trong JPA

Add Comment