Tôi có một ứng dụng doanh nghiệp Java cung cấp dịch vụ web, có một lớp miền và lớp kiên trì ngủ đông. Trong trường hợp đặc biệt này, không có sự khác biệt lớn (vào lúc này) giữa các đối tượng mà tôi gửi qua dây, các đối tượng miền và các đối tượng bền vững.Các lớp miền thường có chú thích JPA hoặc JAXB hay cả hai?
Hiện tại, ứng dụng sử dụng DTO ở bên liên tục và chú thích các lớp Miền có chú thích JAXB. Tuy nhiên, tôi càng đọc và suy nghĩ về nó, thì điều này càng có vẻ ngược lại! Có vẻ như hầu hết các kiến trúc sư đề xuất đặt chú thích JPA vào mô hình miền và tạo DTO để gửi các đối tượng qua dây.
Trong trường hợp của tôi, tôi có thể đặt cả chú thích JAXB và JPA (Hibernate) vào các lớp miền của mình không?
Ý nghĩ giữ mặt tiền dịch vụ web, miền của tôi và sự kiên trì của tôi được kết hợp chặt chẽ với nhau có vẻ dễ bảo trì, nhưng tôi lo ngại vì chúng có thể cần thay đổi kịp thời. Nhưng nó sẽ là thông minh hơn để tạo ra một tập hợp các lớp DTO cho phía dịch vụ web và bỏ qua các DTO cho sự kiên trì?
Làm cho cảm giác rằng sớm hay muộn bạn sẽ cần phải tách chúng thành các lớp. Nhưng trong một dự án hoàn toàn mới, nó tiết kiệm rất nhiều thời gian để kết hợp chúng. Điều cần biết là không có tác dụng phụ xấu nào khi làm điều này. – HDave
Và ở đây tôi lại 2 năm sau chia chúng ra vì webapp của khách hàng của chúng tôi chỉ muốn sử dụng dữ liệu cần thiết, do đó chúng tôi đang tạo DTO (với chú thích JAX-B) tách biệt với thực thể miền (JPA) của chúng tôi. – HDave