PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách ánh xạ PostgreSQL enum với JPA và Hibernate

Tôi đã hiểu rồi. Tôi cần sử dụng setObject thay vì setString trong hàm nullSafeSet và chuyển vào Type.OTHER dưới dạng java.sql.type để cho jdbc biết rằng đó là loại 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. Làm cách nào để chèn nhiều giá trị vào bảng postgres cùng một lúc?

  2. vô hiệu hóa LƯU Ý trong đầu ra psql

  3. THAM GIA (CHỌN ...) ue ON 1 =1?

  4. Tài nguyên đào tạo &học tập hàng đầu về PostgreSQL

  5. Cách định dạng số dưới dạng tiền tệ trong PostgreSQL