Я провел некоторое время, чтобы найти решение, потому что у меня такая же проблема, но это не проблема, связанная с Play/Ebean.
К сожалению, вы не можете сделать это на Java. По дизайну статическое поле разделяется всеми suclasses (одним и тем же объектом!). И, конечно, вы не можете иметь объект с несколькими типами! дженерики используются во время компиляции, чтобы проверить правильность методов вызова: http://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html
решение вы предложили с использованием дженериков не может работать, так как статическое поле/метод не может получить доступ к типу (все инстанции может иметь другой тип).
В вашем случае поле FIND разделяется для всех подклассов MyModel.
Я попытался преобразовать вам поле в статическом методе искатель() и создать «пул» искатель со статическим HashMap класса/видоискателем, но в любом случае вы должны предоставить класс, как этот MyModel.finder (ValidationScript. класс), потому что invoker всегда является суперклассом.
Слишком много многословным ...
Не решение, просто подсказка: большинство IDE теперь позволяют создавать какие-то динамические шаблоны кода, я добавил один в Idea и создавал правильный искатель при однократном нажатии клавиши. – biesior
Могу ли я попросить вас опубликовать свой живой храм для идеи? – cosmolev