2

How to use metamodel.MapAttribute? I would like to get the values from Map, but I do not know how? The idea is to know all the meter on a calibration bench.

public class Calibration_ {

public static volatile javax.persistence.metamodel.MapAttribute<Calibration,Integer, Meter> positionsMeters;

}

I have this kind of Map Attribute, to know positions in which meter is on a calibration bench

@Entity
public class Calibration extends AbstractEntity implements Serializable {

private Map<Integer, Meter> positionsMeters;   
….
}

I am trying to get the values using this way, but it’s not working:

final QueryData<Calibration> queryData = new QueryData<>(Calibration.class);
final EntityManagerFactory em = Main.context.getBean(EntityManagerFactory.class);
final CriteriaBuilder builder = em.getCriteriaBuilder();
final Root<Meter> meter= queryData.criteria.from(Meter.class); 
final Root<Company> company= queryData.criteria.from(Company.class); 
Predicate filter = null;

filter = builder.and(

    builder.like(queryData.builder.lower(company.get(Company_.name)),"%" +    attribute.toLowerCase() + "%"),

    builder.equal(meter.get(Meter_.owner), company),

    builder.isMember(meter,builder.values((Map<Integer,Meter>)queryData.root.get(Calibration_.positionsMeters)))

);
ByteNudger
  • 1,545
  • 5
  • 29
  • 37
Vinicius
  • 21
  • 1

0 Answers0