QueryDSL PathBuilder обнаруживает тип и существование свойства

Может ли кто-нибудь сказать мне, как проверить наличие свойства через PathBuilder?

Я знаю, что в PathBuilder есть защищенный метод validate(), но его нельзя переопределить, потому что PathBuilder — это конечный класс.

Предполагая, что у меня есть класс модели с именем Person:

    PathBuilder<?> entityPath = new PathBuilder<Person>(Person.class, "person");

    PathBuilder<?> propertyPath = path.get("name");

Мне также нужно получить тип свойства через PathBuilder.


person Alan    schedule 18.12.2013    source источник


Ответы (2)


В QueryDSL 3.3.1 эта проблема устранена (см. примечания к выпуску). PathBuilder больше не является окончательным, и вы можете переопределить метод validate().

person Stephan Hillebrandt    schedule 12.05.2014

Это невозможно. PathBuilder не привязан к определенной схеме свойств, такой как свойства java bean, он просто предоставляет гибкий API для динамического создания экземпляров Path.

То, что вы ищете, может быть самоанализом Java Bean.

person Timo Westkämper    schedule 18.12.2013