干净的PO与查询,请问大家是如何处理的? 在不使用Hibernate,仅仅使用jDBC的情况下,一般来说PO的属性是和数据的字段一一对应的,但是如果要查询,那么就有可能在PO中引入多余的字段,会导致PO不干净请问大家是如何处理的?比如销售单:要根据客户名称来查询,那么就需要在PO中加入一个字段customerName(数据库中是客户ID)----》PO就不干净了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【stop__】截止到2008-06-23 08:55:28的历史汇总数据(不包括此帖):发帖数:45 发帖分:1795 结贴数:42 结贴分:1755 未结数:3 未结分:40 结贴率:93.33 % 结分率:97.77 % 值得尊敬 PO只用着实现简单业务逻辑和存储数据的容器,你如果要查询参数,一般情况下直接使用查询参数作为方法的参数。不过有一个有效的做法是,构造一个BaseQuery基类,这里面是分页的逻辑规则,在做查询的时候,从BaseQuery继承一个类AQuery,然后使用这个AQuery作为参数 例如 public List testMethod(AQuery query); 这样不管是否是分页都统一处理了,你的查询参数就放在AQuery里面,这样代码也很清晰,又不破坏PO。 PO是持久化定向,和数据表里的字段是一一对应的。比如销售单: 要根据客户名称来查询,那么就需要在PO中加入一个字段customerName(数据库中是客户ID)----》PO就不干净了。 这句我觉得说的有问题。1. 你在数据库表销售单里面有customerName字段,所以PO本身就包含这个字段。所以不用加。2. 客户和销售单肯定是有关系的。如果数据库里面或者hibernate里面设置了主外键,你可以根据一对多的关系查询,也是不用加的。 数据库中存在是customerId,不是customerName.没有用hibernate,hibernate可以设置关联,很方便,但是如果用jdbc呢? 一道Java笔试题 jdbc的小问疑惑 汽车的刹车抽象行为,是放在Abstract class Vehicle 里还是Interface Brake 里? java调用存储过程 HashSet,TreeSet有什么用? JBuilder与WebLogic的最高版本是什么及正版要多少钱? 请高手帮帮忙! 在Java里SimpleDateFormat处理日期的困难问题"? 求教,如何为Class添加泛型? 谁能给我一个ResourceBundle的使用程序,谢谢,简单的! 哪位老是告诉我,package和import到底怎么用??? 请教一下网络通信的问题 想彻底的学好JAVA,大家帮帮忙
楼主【stop__】截止到2008-06-23 08:55:28的历史汇总数据(不包括此帖):
发帖数:45 发帖分:1795
结贴数:42 结贴分:1755
未结数:3 未结分:40
结贴率:93.33 % 结分率:97.77 %
值得尊敬
PO只用着实现简单业务逻辑和存储数据的容器,你如果要查询参数,一般情况下直接使用查询参数作为方法的参数。不过有一个有效的做法是,构造一个BaseQuery基类,这里面是分页的逻辑规则,在做查询的时候,从BaseQuery继承一个类AQuery,然后使用这个AQuery作为参数 例如 public List testMethod(AQuery query); 这样不管是否是分页都统一处理了,你的查询参数就放在AQuery里面,这样代码也很清晰,又不破坏PO。
要根据客户名称来查询,那么就需要在PO中加入一个字段customerName(数据库中是客户ID)----》PO就不干净了。
这句我觉得说的有问题。1. 你在数据库表销售单里面有customerName字段,所以PO本身就包含这个字段。所以不用加。
2. 客户和销售单肯定是有关系的。如果数据库里面或者hibernate里面设置了主外键,你可以根据一对多的关系查询,也是不用加的。
没有用hibernate,hibernate可以设置关联,很方便,但是如果用jdbc呢?