Java中VO的设计
如题,简化问题,打个比方,两个实体类:Student, Book,
Student:id,bookId属性,对应student表中id,bookId字段
Book:id, bookName, author属性,对应book表中的id,bookName,author等字段
现在设计一个StudentVO,两种方案
1包含studentId,bookVO
2包含studentId,bookName,author
第一种方案:每次获取一个StudentVO需要先到数据库中获取Student,转换成StudentVO,再获取一个Book,转换成BookVO,设置BookVO为StudentVO内置对象。
第二种方案:在表Student中增加字段bookName,这样直接可以通过一次查询就获取一个StudentVO,减少访问数据库的次数。
小结
第一种方案:在大数据情况下,比如获取1000个学生,就要多出1000次数据库访问,对性能有一定损耗。
第二种方案:如果StudentVO还需要包含author等多个BookVO中的信息时,这样就没有第一种方案显得简洁,过多的增加Book类中的属性和book表中的字段,也会显得实体设计不伦不类。
请教大家如何设计才是比较合理的方案?性能和设计规范能有所平衡