target.on("a.id", "b.id");
target.add("id", "a.id");
target.add("hoge", "a.hoge");
target.add("bar", "b.foo");
JoinedModelDescription desc = target.toDescription();
assertThat(desc.getFromModel().getSimpleName(), is("A"));
assertThat(desc.getJoinModel().getSimpleName(), is("B"));
assertThat(desc.getFromCondition(), is(sources(a, "id")));
assertThat(desc.getJoinCondition(), is(sources(b, "id")));
List<ModelProperty> props = desc.getProperties();
assertThat(props.size(), is(3));
ModelProperty id = props.get(0);
assertThat(id.getName(), is("id"));
assertThat(id.getType().getKind(), is(PropertyTypeKind.LONG));