У меня есть следующий класс:
@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
.