如何使QueryDSL动态地从QClass获取路径的字段类型?

时间:2015-02-27 10:54:12

标签: java jpa querydsl metamodel

QueryDSL为我们创建了一些不错的元模型Q类,其中这些Q类的字段尽可能是特定类型的路径。例如,如果您的User类中有Age的Integer字段,则该字段在Quser类中将具有NumberPath类型。

假设我使用QueryDSL构建类似

的查询
user.from(user).where(user.age.eq(30))

我希望能够获得QClass中存在的user.age的路径类型 - 即NumberPath。

这可能吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过拨打user.age.getClass()

user.age instanceof NumerClass也应该有用。

如果你的名字是String,你可以使用反射:

user.getClass().getDeclaredField("age").getType()

应该返回NumberPatch.class。有点脏,但应该工作。