У меня есть следующий класс:
@Entity
@Table(name = "clients")
public class Client extends Model {
@Id
public int id;
@Formula(select = "inv.some_data",
join = "left join (select 1 as some_data) as inv")
public int someData;
public static Finder<String, Client> find =
new Finder<String, Client>(String.class, Client.class);
public static int countClientsWithData() {
return Client.find.where().gt("someData", 0).findRowCount();
}
}
Он имеет поле someData (игровая структура автоматически генерирует геттеры и сеттеры). А также countClientsWithData использует это поле в предложении where. Теперь, если я делаю
int count = Client.countClientsWithData();
Он будет бросать NullPointerException при попытке выполнить запрос
select count(*) from clients t0 where inv.some_data > ?
Похоже, findRowCount не распознает объединение в аннотации @Formula. Любые мысли о том, как обойти эту проблему?
Обновлен вопрос: проблема с сокращением до вызова findRowCount.