首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

人们都面试

2013-10-18 
人人都面试? ? ? ? fieldset? ? ? ? ? ? lablefirstName/lable? ? ? ? ? ? input typetext name

人人都面试

? ? ? ? <fieldset>

? ? ? ? ? ? <lable>firstName</lable>

? ? ? ? ? ? <input type="text" name="person.firstName" > ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ?<br>

? ? ? ? ? ? <lable>age</lable>

? ? ? ? ? ? <input type="text" name="person.age" >

? ? ? ? ? ? <br>

? ? ? ? ? ? <input type="submit" name="" value="submit"/> ? ? ? ? ? ? ? ?

? ? ? ? </fieldset>

? ? </form>

?

前台输入参数的时候,只输入了firstName和age属性,请求注册action后,经过prepare方法后,我们把person的属性全部赋值,然后方法execute中可观察到对象person中的属性是综合了前台和后台的属性。即前台传入的参数把person对象对应的属性覆盖了,而前台没有传过来的参数保持不变。这样就实现了参数的二次绑定

?

?

?

?

?

?2、hibernate 1N问题,虽然有所闻可是没遇到。惭愧性能上没下功夫

1+N问题也可以叫N+1问题,什么是1+N问题呢?
如果在一个对象里关联另一个对象,并且fetch = FetchType.EAGER。
比如说ManyToOne(OneToMany也存在这种问题)关联,本来只需要取Many里的对象属性,可是Many里关联的对象都会单独再发一条语句取关联对象的属性。
本来只用发一条就可以查出Many里的对象属性,可是它发了一条语句后,再发N条语句取关联对象的数据。

解决办法:
1、?设置多的那方的FetchType为LAZY?:在合适的时候才发出语句(按需要发语句)。
2、BatchSize:在One对象设置Size后,取出Many里的数据后,再发N/Size条语句取关联对象的数据,从而达到少发语句的目的。(----不能彻底解决~)

3、使用Join Fetch:(使用Criteria或者写HQL语句时在后面加上left join fetch w.category)将Many与One做外连接,因此只要发一条语句就可以查出Many与其相关联的One对象数据,Criteria默认就是这种做法。

?

如何选择解决办法:
如果只要用Many里的对象,不用关联对象的属性,那就用方法1解决;
如果要Many里的对象属性,也想要关联的对象属性就用方法3解决。

3、hibernate 的二次缓存 数据库的优化。代码优化 做缓存 openSessionView

4、spring 的事务管理 实现原理

? 最后说说Hr跟我的聊天 我说我是忠诚的,不会逃跑的,信不信你有你,反正我是信了。

?

热点排行