Autogenerowanie id w JPA.

0

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?

0

Jak nie chcesz się bawić w jakieś sekwencje to czemu nie dasz po prostu

@Id
@GeneratedValue(strategy = GenerationType.AUTO)

1 użytkowników online, w tym zalogowanych: 0, gości: 1