sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man mappar PostgreSQL enum med JPA och Hibernate

Jag listade ut det. Jag behövde använda setObject istället för setString i nullSafeSet-funktionen och skicka in Types.OTHER som java.sql.type för att låta jdbc veta att det var en postgres-typ.

public void nullSafeSet(PreparedStatement st, Object value, int index) throws HibernateException, SQLException {
    if (value == null) {
        st.setNull(index, Types.VARCHAR);
    }
    else {
//            previously used setString, but this causes postgresql to bark about incompatible types.
//           now using setObject passing in the java type for the postgres enum object
//            st.setString(index,((Enum) value).name());
        st.setObject(index,((Enum) value), Types.OTHER);
    }
}


  1. Konvertera Select-resultat till Insert script - SQL Server

  2. Snabbare alternativ i Oracle till VÄLJ ANTAL(*) FRÅN någon

  3. Hur man kontrollerar om en beräknad kolumn är "beständig" i SQL Server

  4. SUBSTR() Funktion i Oracle