use of org.nutz.dao.test.meta.Pet in project nutz by nutzam.
the class NutPojoMakerTest method makeQueryByJoin.
@Test
public void makeQueryByJoin() {
dao.create(Pet.class, true);
dao.create(Master.class, true);
Master master = new Master();
master.setName("zozoh");
Pet petA = new Pet();
petA.setName("wendal");
petA.setAge(31);
Pet petB = new Pet();
petB.setName("pangwu");
petB.setAge(30);
master.setPets(Arrays.asList(petA, petB));
dao.insertWith(master, null);
PojoMaker pojoMaker = new NutPojoMaker(dao.getJdbcExpert());
Entity<?> en = en(Master.class);
Pojo pojo = pojoMaker.makeQueryByJoin(en, "pets");
assertEquals(true, Lang.isNotEmpty(pojo));
}
use of org.nutz.dao.test.meta.Pet in project nutz by nutzam.
the class SimpleDaoInterceptorTest method issue_1325.
/**
* 测试的内容: 在DaoInterceptor内设置字段过滤,看看能不能起作用
*/
@Test
public void issue_1325() {
// 现有默认dao创建记录
this.dao.create(Pet.class, true);
Pet pet = Pet.create("wendal");
pet.setAge(30);
this.dao.insert(pet);
// 然后构建一个临时用的Dao实例, 拦截器顺序: 设置FieldFilter, log
DataSource ds = ioc.get(DataSource.class);
NutDao dao = new NutDao(ds);
dao.setInterceptors(Arrays.asList(new DaoInterceptor() {
public void filter(DaoInterceptorChain chain) throws DaoException {
chain.getDaoStatement().getContext().setFieldMatcher(FieldMatcher.make(null, "age", false));
chain.doChain();
}
}, "log"));
// 用临时dao,应该是没有age数据
pet = dao.fetch(Pet.class, Cnd.where("name", "=", "wendal"));
Assert.assertEquals(0, pet.getAge());
// 用默认dao, 应该有age数据
pet = this.dao.fetch(Pet.class, Cnd.where("name", "=", "wendal"));
Assert.assertEquals(30, pet.getAge());
}
Aggregations