sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-serieel type toewijzen met Hibernate-annotaties

De volgende mapping zou goed moeten werken:

@Column(name = "orderId")
@Generated(GenerationTime.INSERT)
private Integer orderId;

Houd er echter rekening mee dat de gegenereerde waarde voor pas opgeslagen objecten niet beschikbaar is totdat de sessie is leeggemaakt.

BEWERKEN: Houd er rekening mee dat deze toewijzing geen invloed heeft op Hibernate om een ​​kolom van het type serial te maken tijdens het genereren van schema's, omdat Hibernate niets weet over de aard van het genereren van waarden aan de databasezijde. Daarom, als u wilt dat Hibernate een kolom met het juiste type maakt, moet u dit expliciet specificeren:

@Column(name = "orderId", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
private Integer orderId;

En op een recente Hibernate-versie (4.3) kun je dit gebruiken:

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long orderId;


  1. SQL tussen operator

  2. Hoe CURTIME() werkt in MariaDB

  3. Welk gegevenstype moet worden gebruikt voor het gehashte wachtwoordveld en welke lengte?

  4. 5 veelgemaakte fouten die u moet vermijden bij het ontdubbelen van uw gegevens