Følgende kortlægning burde fungere fint:
@Column(name = "orderId")
@Generated(GenerationTime.INSERT)
private Integer orderId;
Bemærk dog, at den genererede værdi for nyligt gemte objekter ikke er tilgængelig, før sessionen er tømt.
EDIT: Bemærk, at denne kortlægning ikke påvirker, gør ikke Hibernate til at oprette en kolonne af typen serial
under skemagenerering, da Hibernate ikke ved noget om arten af værdigenerering på databasesiden. Derfor, hvis du vil have Hibernate til at oprette en kolonne med en korrekt type, skal du angive det eksplicit:
@Column(name = "orderId", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
private Integer orderId;
Og på en nylig Hibernate-version (4.3) kan du bruge denne:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long orderId;