How do I query UUIDs stored as binary in a database (JPA/Hibernate/MySQL)

后端 未结 3 959
再見小時候
再見小時候 2021-02-15 17:37

I have a Java/JPA/Hibernate/MySQL based app. I want to use UUIDs for object identity, however I want to ensure database performance does not suffer.

I found this great b

3条回答
  •  无人及你
    2021-02-15 17:52

    Tested with Hibernate 4.1.2 and MySQL-Connector-J 5.1.18, you can define a UUID field:

    @Entity
    class EntityType {
        @Column( columnDefinition = "BINARY(16)", length = 16 )
        private UUID id;
    }
    

    ...and query with a UUID instance:

    UUID id = ....;
    EntityType result = em.createQuery( 
       “SELECT x FROM EntityType x WHERE x.id = ?1″, EntityType.class )
       .setParameter( 1, id ).getSingleResult();
    

提交回复
热议问题