"Đối tượng miền" là thuật ngữ khái niệm hơn; "Thực thể JPA" đề cập đến một công nghệ cụ thể hữu ích cho việc triển khai các đối tượng miền.
Nói chung các đối tượng miền tương ứng với danh từ (đơn đặt hàng, hóa đơn, khách hàng, v.v.) trong miền của bạn. Thông thường chúng ta thấy chúng như là gần gũi hơn với cơ sở dữ liệu chứ không phải là các đối tượng truyền dữ liệu thuần túy. Vì vậy, bạn có thể thấy các chú thích ORM trên các lớp bạn sử dụng để triển khai các đối tượng miền của bạn, ví dụ.
Rất nhiều người thực hiện các đối tượng miền theo cách thiếu an toàn - chủ yếu là các thuộc tính với ánh xạ ORM, nhưng không có logic thực trên chính đối tượng miền. Họ đặt logic vào các dịch vụ miền.
Mặt khác, những người ủng hộ thiết kế theo hướng miền đặt logic vào đối tượng miền.
Dù bằng cách nào thì đây là các đối tượng miền trong hệ thống của bạn.
Thực thể JPA là các lớp mà bạn chú thích với @Entity, @Column, @ManyToOne, v.v. Đây là một cách để triển khai đối tượng miền. Bạn có thể quyết định đặt logic miền trên chính các đối tượng, như đã nói ở trên.
Nguồn
2013-01-31 20:54:43
Có, đối tượng miền giống với thực thể JPA – James
Chúng không phải là nếu bạn đang ở trong môi trường Thiết kế điều khiển miền, vì các đối tượng miền có xu hướng mạnh mẽ hơn thay vì đối tượng 'thiếu máu'. Kiểm tra http://stackoverflow.com/questions/5589141/understanding-domain-objects-services –
Điều gì khiến bạn không đặt logic miền trong thực thể? Đó không phải là toàn bộ điểm lập bản đồ các hàng bảng cho các đối tượng thực tế ở nơi đầu tiên? Nếu không, bạn cũng có thể sử dụng HashMaps để biểu diễn dữ liệu từ một hàng trong bảng. – wrschneider