使用Hibernate时,1-N映射的思考
在使用Hibernate的时候,用到了1-N映射,假设有两个表,Brand和Model,Model表中的外键Brand_id是Brand表中的字段id。
那么,在Brand实体中,就会有一个Set字段models,在Model实体中就有一个字段Brand。
按照常理来说,查询Brand的时候就可以把所有属于这个Brand的Model一起查询出来了,查询Model的时候也可以查询到这个Model属于的Brand。那么我在猜想,如果在查询Brand的时候查询Model,在继续在Model中查询Brand,然后循环下去,会不会去出现死循环呢?
Brand<-->Model.
然后我试了下,
Brand b = testService.findBrand(1); // 查找数据中id=1的Brand数据Set<Model> s = b.getModels();String ss = "";for(Model m : s){ ss = ((Model)((Model)m.getBrand().getModels().iterator().next()).getBrand().getModels().iterator().next()).getName();}
public void setBrand(Brand brand) { System.out.println("1"); this.brand = brand; }
ss = ((Model)m.getBrand().getModels().iterator().next()).getName();
ss = ((Model)((Model)m.getBrand().getModels().iterator().next()).getBrand().getModels().iterator().next()).getName();