title: org.hibernate.MappingException: Could not determine type for: java.util.Comparator
body: <p>I am having a problem in mapping jpa, please if anyone has more experience in using jpa and could help me.</p>
  
  <p>I have ran some searches in the internet, But nothings works for me.</p>
  
  <p>I hope i ll get some fix!!</p>
  
  <p>Thanks!</p>
  
  <p>Here my Code:</p>
  
  <p>Metodologia.java</p>
  
  <pre><code>@Entity
  @Table(name = "metodologias")
  public class Metodologia {
  @Id @GeneratedValue
  private int id;
  
  private String nombre;
  
  @ManyToMany
  @JoinTable(
          name = "METODOLOGIA_CONDICION",
          joinColumns = {@JoinColumn(name = "METODOLOGIA_ID")},
          inverseJoinColumns = {@JoinColumn(name = "CONDICION_ID")}
          )
  
  private List&lt;Condicion&gt; condiciones;
  
  public Metodologia(String n) {
      this.nombre = n;
      this.condiciones = new ArrayList&lt;Condicion&gt;();
  }
  
  public void addCondicion(Condicion con) {
      this.condiciones.add(con);
  }
  
  public String getNombre() {
      return this.nombre;
  }
  
  public ArrayList&lt;ResultadoEmpresa&gt; evaluarEmpresas(ArrayList&lt;Empresa&gt; empresas, ArrayList&lt;Indicador&gt; indicadores) throws Exception {
      ArrayList&lt;ResultadoEmpresa&gt; resultados = new ArrayList&lt;ResultadoEmpresa&gt;();
      ArrayList&lt;ResultadoEmpresa&gt; res;
  
      empresas.forEach(emp-&gt;resultados.add(new ResultadoEmpresa(emp.getNombre(), 0)));
  
      for (Condicion con : condiciones) {
          res = con.evaluar(empresas, indicadores);
          for (ResultadoEmpresa resemp : res) 
              for (ResultadoEmpresa emp : resultados)
                  if (emp.getEmpresa().equals(resemp.getEmpresa()))
                      emp.sumar(resemp.getValor());
      }
  
      return ordenarLista(resultados);
  }
  
  Comparator&lt;ResultadoEmpresa&gt; byValor = new Comparator&lt;ResultadoEmpresa&gt;() {
      public int compare(ResultadoEmpresa left, ResultadoEmpresa right) {
          if (left.getValor() &gt; (right.getValor())) {
              return -1;
          } else {
              return 1;
          }
      }
  };
  
  private ArrayList&lt;ResultadoEmpresa&gt; ordenarLista(ArrayList&lt;ResultadoEmpresa&gt; emp) {
      Collections.sort(emp, byValor);
  
      return emp;
  }
  }
  </code></pre>
  
  <p>This is a error report at the execute,</p>
  
  <pre><code>Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Comparator, at table: metodologias, for columns: [org.hibernate.mapping.Column(byValor)]
  at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:336)
  at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:310)
  at org.hibernate.mapping.Property.isValid(Property.java:241)
  at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:496)
  </code></pre>