Tôi cần biết liệu có thể thêm một số thuộc tính và hành vi cho một số thực thể POPA JPA hay không (bằng cách sử dụng nhà cung cấp hibernate) bằng cách mở rộng nó. entitys chỉ POJO, giống như các ví dụ sau:Mở rộng thực thể JPA để thêm thuộc tính và logic
POJO JPA Entity Lớp
@Entity
@Table("test")
public class Test implements Serializable {
}
Extended Lớp
public class ExtendedTest extends Test {
...
}
Tìm nạp các mở rộng đối tượng Class của
List<ExtendedTest> extendedList = entityManager.createNamedQuery("ExtendedTest.findByFoo").setParameter("foo", "bar").getResultList();
Một cách khác có thể tôi đang đánh giá được mở rộng funcionality với một đối tượng hỗn hợp và ủy thác tất cả setters và thu khí, nhưng điều này có nghĩa là rất nhiều công việc với các bảng lớn:
public class ExtendedTest2 {
private Test test;
public ExtendedTest2(Test test) {
this.test = test;
}
public getFoo() {
return test.getFoo();
}
public getBar() {
return test.getBar();
}
...
}
Mọi đề xuất sẽ được đánh giá cao.
Tôi không nghĩ là tốt khi bạn hạnh phúc có thể đặt logic của bạn và các thuộc tính khác trong lớp thực thể. – dcernahoschi
Tôi thực sự có thể thêm các thuộc tính và logic vào lớp thực thể của mình nhưng không "vui vẻ", ý tưởng của tôi là giữ các thực thể như POJO và chỉ giữ các thuộc tính biểu diễn bảng, trên thực tế đó là lý do tại sao tôi tạo câu hỏi này ngay từ đầu. – jmoreira