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

若一个类中有个component,该类的构造函数该如何定义

2013-07-01 
若一个类中有个component,该类的构造函数该怎么定义?大概就是这样:public class BuyMedList implements Se

若一个类中有个component,该类的构造函数该怎么定义?
大概就是这样:
public class BuyMedList implements Serializable {
// primary key
private java.lang.Integer id;

// fields
private java.lang.Integer buyAmount;
private java.lang.Integer saleAmount;
private java.lang.Integer brokenAmount;
private java.lang.Double payMoney;
private java.lang.Double earnMoney;
private java.util.Date buyTime;
private java.util.Date saleTime;

// components
 cn.edu.jxcms.model.Medicines medicines;
}


public class Medicines implements Serializable {
// fields
private java.lang.String medId;
private java.lang.String medName;
private java.lang.String packing;
private java.lang.Double buyPrice;
private java.lang.Double salePrice;
private java.util.Date proDate;
private java.util.Date valDate;
}
Medicines 是 BuyMedList 的组件,现在我只想初始化BuyMedList的(id, buyAmount, payMoney, payTime)以及Medicines 的(medId, medName, packing, buyPrice, salePrice),
请问:1.我想获取的这些字段的hql语句该怎么写?
      2.不是应该自定义一个BuyMedList的构造函数么,该如何定义? hql components
[解决办法]
哦哦,,之前可能没有看清楚,,,你这样子 不可行的。。。因为涉及的关联性多了,没法实现,,还是用sql吧,,性能也比hql高 。。你只查询部分字段不也是为了提升性能的吗??

[解决办法]
可以用builder pattern
这个问题所谓的component也并没有什么特殊的
[解决办法]

引用:
Quote: 引用:

哦哦,,之前可能没有看清楚,,,你这样子 不可行的。。。因为涉及的关联性多了,没法实现,,还是用sql吧,,性能也比hql高 。。你只查询部分字段不也是为了提升性能的吗??

我后来没有再用component了,就用你之前说的方法,定义了个构造函数,然后这样写:
select new cn.edu.jxcms.model.BuyMedList(Id,MedId,MedName, Packing,
BuyPrice,SalePrice, BuyAmount, PayMoney, BuyTime)
from BuyMedList
就OK了!

不过我真正的问题才解决了一半,哈哈~~实际上BuyMedList与另一张表Buyer(进货员)是多对一关系,那想要获得Buyer除了Id以外的全部信息,hql语句该怎么改?


(Buyer:id,name,supplier, supplierTel, money, tradeTime)
还有最重要的是查询出来的是个什么对象呢?还是BuyMedList对象吗?


这样子,你定义的hql 不是只查询了 BuyMedList里面的属性吗??所以 肯定可以,如果涉及其他关联实体 ,就不行了。。 除非在你对应的构造函数中加上Buyer的属性,,但是这样显得有些臃肿。。。不可取。。。但是可以尝试下。。

另外  你要 获得Buyer除了Id以外的全部信息  ,为什么不获取id,,id是唯一标识 这条记录的标准,,为什么不要获取捏??

热点排行