1

我正在寻找一个实用程序类或库,它以类型安全的方式为我提供属性名称。我有类似以下的想法:

PropertyDescriptor descriptor = property(on(Foo.class).getBar());

assertThat(descriptor.getName()).isEqualTo("bar")

要正确实施这种方便的方法,恕我直言,需要做很多工作。由于最终类等的处理可能非常复杂(参见 mockito、easymock 等)

4

1 回答 1

1

您可以将QueryDSL 的别名用作:

import static com.querydsl.core.alias.Alias.*

Foo foo = alias(Foo.class, "foo");
assertThat($(foo.getBar().getBaz()).getMetaData().getName()).isEqualTo("foo.bar.baz");
于 2015-06-03T20:33:11.687 回答