Thỉnh thoảng tôi tìm thấy chúng cùng nhau, đôi khi một mình ... những lúc khác chúng có vẻ giống nhau.Sự khác biệt giữa @GeneratedValue và @GenericGenerator
Sự khác biệt là gì?
Dưới đây là ba ví dụ. Họ làm gì khác nhau? Tại sao tôi không thể sử dụng @GeneratedValue cho tất cả chúng?
Ví dụ 1
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
Long id;
Ví dụ 2
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE)
private int userId;
Ví dụ 3
@ElementCollection
@JoinTable(name="Address",
[email protected](name="user_id")
)
@GenericGenerator(name="hilo-gen", strategy="hilo")
@CollectionId(columns = @Column(name="Address_id"), generator = "hilo-gen", type = @Type(type="long"))
Collection<Addr> listOfAddresses = new ArrayList<Addr>();
câu trả lời rất tốt nhất định. – Krishna