sql >> Base de Datos >  >> RDS >> Mysql

Especifique manualmente el valor de una clave principal en la columna JPA @GeneratedValue

Esto funciona con eclipselink. Creará una tabla separada para la secuencia, pero eso no debería suponer un problema.

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id", insertable=true, updatable=true, unique=true, nullable=false)
private Long id;

GenerationType.AUTO elegirá la estrategia de generación ideal. Dado que el campo se especifica como insertable y actualizable, se utilizará una estrategia de generación de TABLE. Esto significa que eclipselink generará otra tabla que contenga el valor de la secuencia actual y generará la secuencia en lugar de delegarla a la base de datos. Dado que la columna se declara insertable, si la identificación es nula al persistir, eclipselink generará la identificación. De lo contrario, se utilizará la identificación existente.