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

Sådan kortlægges PostgreSQL enum med JPA og Hibernate

Jeg regnede det ud. Jeg var nødt til at bruge setObject i stedet for setString i nullSafeSet-funktionen og indsætte Types.OTHER som java.sql.type for at lade jdbc vide, at det var en postgres-type.

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. Min DBA er syg - Database Failover Tips til SysAdmins

  2. SMALLDATETIMEFROMPARTS() Eksempler i SQL Server (T-SQL)

  3. Brug af MySql med Entity Framework 4 og Code-First Development CTP

  4. De bedste tilgængelige databaseovervågningsmuligheder for din virksomhed