我现在遇到一个这样的问题,是SSH框架中的hibernate。。

[复制链接]
查看11 | 回复3 | 2011-5-19 12:50:08 | 显示全部楼层 |阅读模式
现在我有两个实体;分别是:SfBrand,和SfMerchandise

关系:SfBrand和SfMerchandise是一对多关系
SfBrand实体以下属性:
privateStringbrandid;//品牌ID
privateStringbrandname;//品牌名称
privateStringdescription;//品牌介绍
privateStringuserid;//用户ID
privateStringpiclocation;//品牌logo
privateDatecreatedate;//创建时间
privateStringhotflag;//热门品牌标志:1热门,0普通
privateStringclassid;//主营商品类型:只细到一级类型
privateSetSfMerchandisemerchandiseset=newHashSetSfMerchandise();
SETTER,GETTER方法


SfMerchandise有以下属性:
privateStringmerchandiseid;//商品ID,系统内ID
//privateStringbrandid;//品牌ID
privateStringuserid;//创建者ID
privateStringclassid;//商品分类
privateStringmarque;//商品型号
privateStringdescription;//商品描述
privateStringmerchandisename;//商品名称
privateStringunit;//计量单位D_Unit
privateDatecreatedate;//创建时间
privateStringhotflag;//热点商品:1:热点;0或无:普通
privateSfBrandbrandset;

SfBrand.hbm.xml映射文件如下:
hibernate-mapping
classname=\"com.webgjb.bean.SfBrand\"table=\"SF_BRAND\"lazy=\"false\"

idname=\"brandid\"type=\"java.lang.String\"
columnname=\"BRANDID\"length=\"12\"/column
generatorclass=\"sequence\"/generator
/id
/*字数太多,省略*/
setname=\"merchandiseset\"inverse=\"true\"cascade=\"all\"lazy=\"false\"
key
columnname=\"brand_id\"/column
/key
one-to-manyclass=\"com.webgjb.bean.SfMerchandise\"/
/set
/class
/hibernate-mapping


SfMerchandise.hbm.xml映射文件

hibernate-mapping
classname=\"com.webgjb.bean.SfMerchandise\"table=\"SF_MERCHANDISE\"lazy=\"false\"
idname=\"merchandiseid\"type=\"java.lang.String\"
columnname=\"MERCHANDISEID\"/
generatorclass=\"sequence\"/generator
/id
/*字数太多,省略*/
many-to-onename=\"brandset\"class=\"com.webgjb.bean.SfBrand\"column=\"brand_id\"/
/class
/hibernate-mapping


下面是HQL语句
现在我随便查一个字段classid
Stringhql=\"selectm.classidfromSfMerchandiseminnerjoinm.brandsetbwherem.merchandiseid=\'\"sfmerchandise.getMerchandiseid()\"\'\";


我这样写没有报错,后台打印出了SQL
Hibernate:selectsfmerchand0_.CLASSIDascol_0_0_fromSF_MERCHANDISEsfmerchand0_innerjoinSF_BRANDsfbrand1_onsfmerchand0_.brand_id=sfbrand1_.BRANDIDwheresfmerchand0_.MERCHANDISEID=\'000000000015\'

但是,为什么查不出m.classid的?究竟哪里错了?
回复

使用道具 举报

千问 | 2011-5-19 12:50:08 | 显示全部楼层
外键已经映射进去了
回复

使用道具 举报

千问 | 2011-5-19 12:50:08 | 显示全部楼层
不是页面显示的,是根本查不出!
回复

使用道具 举报

千问 | 2011-5-19 12:50:08 | 显示全部楼层
用一得那方导航到多得那方...
并且在一得方new出实体.你试下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行