sql >> Database teknologi >  >> RDS >> PostgreSQL

Vedvarende UUID i PostgreSQL ved hjælp af JPA

PostgreSQL JDBC-driveren har desværre valgt en måde at repræsentere ikke-JDBC-standard typekoder på. De kortlægger dem simpelthen alle til Types.OTHER. Lang historie kort, du skal aktivere en speciel Hibernate-tilknytning til håndtering af UUID-tilknytninger (til kolonner af den postgres-specifikke uuid-datatype):

@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="org.hibernate.type.PostgresUUIDType")
private UUID id;

eller mere kortfattet:

@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="pg-uuid")
private UUID id;

En anden (bedre) mulighed er at registrere org.hibernate.type.PostgresUUIDType som standard Hibernate-typetilknytning for alle attributter, der er eksponeret som java.util.UUID. Det er dækket af dokumentationen @ http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types-registry



  1. Lære 2 og Mange-til-mange linktabel med et ekstra felt

  2. Returner det aktuelle loginnavn i SQL Server (T-SQL)

  3. Forbindelseshåndtering og drosling med ProxySQL

  4. Navigering af SQL Server-fejllogs