sql >> Databáze >  >> RDS >> PostgreSQL

Jak mapovat PostgreSQL enum pomocí JPA a Hibernate

Přišel jsem na to. Potřeboval jsem použít setObject místo setString ve funkci nullSafeSet a předat Types.OTHER jako java.sql.type, abych dal jdbc vědět, že jde o typ postgres.

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. Jak byste implementovali sekvence v Microsoft SQL Server?

  2. Podporuje SQLDeveloper spouštění skriptů?

  3. Jak používat sql*plus v příkazovém skriptu Windows k řízení toku?

  4. Sloučit překrývající se časové intervaly