Witam. Chcę stworzyć tabelę i wykorzystuję JPA. I mam pytanie dotyczące automatycznego generowania id. Znalazłem dwa przykłady:
Pierwszy:
@Entity
@Table(name = "Users")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
// Add these two lines to the generated code
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="users_seq_generator")
@SequenceGenerator(name="users_seq_generator", sequenceName="users_user_id_seq")</strong>
@Column(name = "user_id", nullable = false)
private Integer id;
I jak się domyślam do stworzonej tabeli Users trzeba dodać sekwencję o nazwie users_user_id_seq aby podczas dodawania wpisów na mojej stronie ich ID się automatycznie inkrementowało?
Drugi sposób to taki:
@Entity
@Table(name="USER")
public class User{
/**
*
*/
private static final long serialVersionUID = 1L;
@TableGenerator(name="USER_GENERATOR",
table="GENERATED_KEYS",
pkColumnName="PK_COLUMN",
valueColumnName="VALUE_COLUMN",
pkColumnValue="USER_ID",
allocationSize=1
)
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator="USER_GENERATOR")
private int id;
@Column
private String name;
@Column
Tutaj jest jakby stworzony jakiś TableGenerator. Czy on odpowiada za inkrementację ID i czy w tym przypadku nie muszę już tworzyć sekwencji w SQL?