sql >> Database >  >> RDS >> PostgreSQL

Hoe PostgreSQL-enum in kaart te brengen met JPA en Hibernate

Ik heb het uitgezocht. Ik moest setObject gebruiken in plaats van setString in de nullSafeSet-functie en de Types.OTHER doorgeven als het java.sql.type om jdbc te laten weten dat het een postgres-type was.

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. group_concat en hoe rijnummer in sqlite te gebruiken

  2. Retourneer het basisgegevenstype van een SQL_Variantwaarde in SQL Server

  3. MySQL gebruiken met Oracle Heterogene Services

  4. STRCMP() gebruiken om 2 strings in MySQL te vergelijken