PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Błąd podczas mapowania kolumny PostgreSQL LTREE w trybie hibernacji

Zaimplementuj niestandardową klasę LTreeType w Javie w następujący sposób:

public class LTreeType implements UserType {

    @Override
    public int[] sqlTypes() {
        return  new int[] {Types.OTHER};
    }

    @SuppressWarnings("rawtypes")
    @Override
    public Class returnedClass() {
        return String.class;
    }

    @Override
    public boolean equals(Object x, Object y) throws HibernateException {
        return x.equals(y);
    }

    @Override
    public int hashCode(Object x) throws HibernateException {
        return x.hashCode();
    }

    @Override
    public Object nullSafeGet(ResultSet rs, String[] names, Object owner)
            throws HibernateException, SQLException {
        return rs.getString(names[0]);
    }

    @Override
    public void nullSafeSet(PreparedStatement st, Object value, int index)
            throws HibernateException, SQLException {
        st.setObject(index, value, Types.OTHER);
    }

    @Override
    public Object deepCopy(Object value) throws HibernateException {
        return new String((String)value);
    }

    @Override
    public boolean isMutable() {
        return false;
    }

    @Override
    public Serializable disassemble(Object value) throws HibernateException {
        return (Serializable)value;
    }

    @Override
    public Object assemble(Serializable cached, Object owner)
            throws HibernateException {
        return cached;
    }

    @Override
    public Object replace(Object original, Object target, Object owner)
            throws HibernateException {
        // TODO Auto-generated method stub
        return deepCopy(original);
    }

}

I opisz klasę Entity w następujący sposób:

    @Column(name = "path", nullable = false, columnDefinition = "ltree")
    @Type(type = "LTreeType")
    private String path;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ClusterControl — zaawansowane zarządzanie kopiami zapasowymi — PostgreSQL

  2. Kolejka zadań jako tabela SQL z wieloma konsumentami (PostgreSQL)

  3. Nie udało się znaleźć funkcji konwersji z nieznanej na tekst

  4. PostgreSQL ERROR:anulowanie instrukcji z powodu konfliktu z odzyskiwaniem

  5. Nie można utworzyć żądanej usługi [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]