Tôi đang cố gắng tìm ra mã này trong khoảng hai giờ ngay bây giờ, ví dụ trong lớp dưới đây các trường này đại diện cho những gì?@StaticMetamodel và SingularAttribute <Obj,Obj> là gì?
import java.util.Date;
import javax.persistence.metamodel.ListAttribute;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;
import java.util.UUID;
@StaticMetamodel(Address.class)
public class Address_ extends {
public static volatile SingularAttribute<Address, Long> id;
public static volatile SingularAttribute<Address, UUID> personId;
public static volatile SingularAttribute<Address, Person> person;
}
Các Address.class
là một lớp java trong đó có các định nghĩa sau đây:
@Entity
@Table(name = "address", schema = "public")
public class Address{
private Long id;
private Person person;
private UUID personId;
//....
}
Bạn có thể, xin vui lòng, giải thích @StaticMetamodel
và @SingularAttribute
chú thích dùng để là gì? Nó có thể đơn giản nhưng tôi không thể hiểu được.
cảm ơn câu trả lời của bạn. tôi không thể hiểu được phần này 'cung cấp truy cập tĩnh cho siêu dữ liệu' tôi có nghĩa là chúng ta đạt được điều gì ở đây? tại sao người ta không nên sử dụng thực thể? những gì tôi có thể đạt được bằng cách sử dụng metamodel mà tôi không thể có được nó oround cách khác? – MoienGK
là về đồng thời? – MoienGK
Không, điều đó có nghĩa là bạn không được phép khởi tạo một đối tượng thực thể để nhận siêu dữ liệu cho một trường. –