Ho legacy Oracle db con una sequenza denominata PRODUCT_ID_SEQ
.Come utilizzare la sequenza Oracle esistente per generare l'id in modalità di sospensione?
Ecco la mappatura dei Product
classe per la quale ho bisogno di generare gli ID corretti:
public class Product {
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "retailerRaw_seq")
@SequenceGenerator(name = "retailerRaw_seq",
sequenceName = "PRODUCT_ID_SEQ")
private Long id;
...
}
ma sembra che gli ID vengono generati con un intervallo di 50, come 1000, 1050, 1100 ecc Questo corrisponde al valore predefinito della proprietà allocationSize
= 50. Ciò significa che Hibernate non utilizza effettivamente la sequenza già definita nel db.
Come si fa in modo che Hibernate usi la sequenza?
domanda Duplicate: Vedere http://stackoverflow.com/questions/1729723/hibernate -does-not-generate-identifier-when-using-oracle-sequence/1729753 # 1729753 –
No, non è un duplicato. Vedi sotto per la risposta – Tristan