Следното картографиране трябва да работи добре:
@Column(name = "orderId")
@Generated(GenerationTime.INSERT)
private Integer orderId;
Имайте предвид обаче, че генерираната стойност за прясно запазени обекти не е налична, докато сесията не бъде изтрита.
РЕДАКТИРАНЕ: Имайте предвид, че това съпоставяне не засяга, не кара Hibernate да създава колона от тип serial
по време на генериране на схема, тъй като Hibernate не знае нищо за естеството на генериране на стойност от страна на базата данни. Следователно, ако искате Hibernate да създаде колона с подходящ тип, трябва да го посочите изрично:
@Column(name = "orderId", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
private Integer orderId;
И в последната версия на Hibernate (4.3), можете да използвате това:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long orderId;