@Test
public void testSelectOnThreeTables() throws Exception {

   QueryDef query = new QueryDef("test", UserEntity.class, QueryType.SELECT, "<fields/>");
   Readset<?> readset = UserEntity.READSET_FULL_WITH_HOME_OFFICE_ADDRESS_FULL;
   User user = new User();
   QueryContext ctx = getSelectContext(query, user, readset);
   m_queryResolver.resolve(ctx);
   Assert.assertEquals(
         "u.user_id,u.full_name,u.creation_date,u.last_modified_date,hua.user_id,hua.`type`,hua.address,oua.user_id,oua.`type`,oua.address",
         ctx.getSqlStatement());
   Assert.assertEquals(null, ctx.getOutSubObjectNames().get(0));
   Assert.assertEquals("home-address", ctx.getOutSubObjectNames().get(4));
   Assert.assertEquals("[user-id, user-name, creation-date, last-modified-date, user-id, type, address, user-id, type, address]", ctx.getOutFields().toString());
}