PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Съпоставяне на сериен тип PostgreSQL с анотации за хибернация

Следното картографиране трябва да работи добре:

@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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Docker изчакайте да стартира postgresql

  2. Как да попълните липсващите дати в PostgreSQL с помощта на generate_series

  3. Предимствата на PostgreSQL

  4. Споделете връзка с postgres db между процеси в Python

  5. Как да промените потребителска парола в PostgreSQL