Я пытаюсь агрегации возраста с бобами в java. Ниже приведена сущность:
@Entity
@View(name = "V_CLASS_ITEM_ATTR_VALUES")
public class ItemAttributeValueUseAggregate {
@Column(name ="item_revision_uid")
public String item_revision_uid;
@Column(name = "class_attribute_id")
public String class_attribute_id;
@Column(name = "class_id")
public String class_id;
@Column(name = "class_attribute_name")
public String class_attribute_name;
@Column(name = "class_attribute_value")
public String class_attribute_value;
@Aggregation("count(class_attribute_id)")
public long total_attrs;
}
И где я вызываю это с помощью ebeanserver, это выглядит так: Здесь все локальные переменные определены с соответствующими значениями:
List<ItemAttributeValueUseAggregate> classificationItemValues = Ebean.getServer(ebeanConfig.defaultServer())
.find(ItemAttributeValueUseAggregate.class)
.setDistinct(true)
.select("item_revision_uid, total_attrs")
.where().eq("class_id", storageClassID)
.where().in("class_attribute_id",lstAttributeIDs)
.where().in("class_attribute_value",lstAttributeValues)
.having().eq("total_attrs", lstAttributeIDs.size())
.findList();
При выполнении этого кода I я получаю сообщение об ошибке вроде:
io.ebeaninternal.server.deploy.BeanDescriptorManager, Error in deployment java.lang.IllegalArgumentException: Can not find path to many in aggregation formula [COUNT(class_attribute_id)]
Может кто-нибудь помочь, пожалуйста, что пропало в бобе?