Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Especifique manualmente o valor de uma chave primária na coluna JPA @GeneratedValue


Isso funciona com o eclipselink. Ele criará uma tabela separada para a sequência, mas isso não deve ser um problema.
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id", insertable=true, updatable=true, unique=true, nullable=false)
private Long id;

GenerationType.AUTO escolherá a estratégia de geração ideal. Como o campo é especificado como inserível e atualizável, será utilizada uma estratégia de geração de TABLE. Isso significa que o eclipselink gerará outra tabela contendo o valor da sequência atual e gerará a própria sequência em vez de delegá-la ao banco de dados. Como a coluna é declarada inserível, se o id for nulo ao persistir, o eclipselink gerará o id. Caso contrário, o id existente será usado.