在不使用Hibernate,仅仅使用jDBC的情况下,
一般来说PO的属性是和数据的字段一一对应的,
但是如果要查询,那么就有可能在PO中引入多余的字段,会导致PO不干净
请问大家是如何处理的?
比如销售单:
要根据客户名称来查询,那么就需要在PO中加入一个字段customerName(数据库中是客户ID)----》PO就不干净了。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【stop__】截止到2008-06-23 08:55:28的历史汇总数据(不包括此帖):
    发帖数:45                 发帖分:1795               
    结贴数:42                 结贴分:1755               
    未结数:3                  未结分:40                 
    结贴率:93.33 %            结分率:97.77 %            
    值得尊敬
      

  2.   


    PO只用着实现简单业务逻辑和存储数据的容器,你如果要查询参数,一般情况下直接使用查询参数作为方法的参数。不过有一个有效的做法是,构造一个BaseQuery基类,这里面是分页的逻辑规则,在做查询的时候,从BaseQuery继承一个类AQuery,然后使用这个AQuery作为参数 例如 public List testMethod(AQuery query);  这样不管是否是分页都统一处理了,你的查询参数就放在AQuery里面,这样代码也很清晰,又不破坏PO。   
      

  3.   

    PO是持久化定向,和数据表里的字段是一一对应的。比如销售单: 
    要根据客户名称来查询,那么就需要在PO中加入一个字段customerName(数据库中是客户ID)----》PO就不干净了。 
    这句我觉得说的有问题。1. 你在数据库表销售单里面有customerName字段,所以PO本身就包含这个字段。所以不用加。
    2. 客户和销售单肯定是有关系的。如果数据库里面或者hibernate里面设置了主外键,你可以根据一对多的关系查询,也是不用加的。
      

  4.   

    数据库中存在是customerId,不是customerName.
    没有用hibernate,hibernate可以设置关联,很方便,但是如果用jdbc呢?