PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да картографирате PostgreSQL enum с JPA и Hibernate

Разбрах го. Трябваше да използвам setObject вместо setString във функцията nullSafeSet и да предам Types.OTHER като java.sql.type, за да уведомя jdbc, че е тип 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. правилна анотация за хибернация за байт[]

  2. грешка при инсталиране на python pip psycopg2

  3. В рамките на функция за задействане, как да получите кои полета се актуализират

  4. SequelizeConnectionError:самоподписан сертификат

  5. Функция RPAD() в PostgreSQL