Иногда я нахожу их вместе, иногда одни... в других случаях они, похоже, делают то же самое.
Какая разница?
Вот три примера. Что они делают из разных? Почему я не могу использовать только @GeneratedValue для всех из них?
Пример 1
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
Long id;
Пример 2
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE)
private int userId;
Пример 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>();