hibernate 中间表查询

Artognou 2011-05-19 10:54:03
Goods表 goodsid
GoodsAndImage表 goodsid imageid
Image表 imageid


HQL语句要怎么写啊 通过goodsid 找到 Image表里面的对象
用的SSH框架 中间表的对象被我删了
就是在goodsDAO里写个HQL 返回 IMAGE对象的LIST
...全文
387 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Artognou 2011-05-20
  • 打赏
  • 举报
回复
这 还是自己搞定了 原来在实体类里面的Set类型goodsandimageinfo就有IMAGE对象的
只要配置好了 然后在get就行了
用迭代就出来了 谢谢各位
xinghen88 2011-05-20
  • 打赏
  • 举报
回复
你的 GoodsAndImage表不是删了吗?所以hql语句就不能那么写了,如果楼主在hibernate.cfg.xml配置文件中对Goods和Image两个表添加了关系,那就把你的Goods实体类改一下:在Goods实体类中添加
private Image image; 然后getter/setter方法,在dao类中写hql语句的时候直接查Goods的信息就可以了。建议楼主再复习一下Hibernate
Artognou 2011-05-20
  • 打赏
  • 举报
回复
额 是不是要把goodsandimage这张表的配置文件留着?
空白-键 2011-05-19
  • 打赏
  • 举报
回复

from Image Image where Image.imageid in (select GoodsAndImage.imageid from GoodsAndImage GoodsAndImage where GoodsAndImage.goodsid = goodsid)

不过用in效率不好,不知道有没有别的方法
Artognou 2011-05-19
  • 打赏
  • 举报
回复
额 我说了啊 这个表的实体类是被我删除了
难道要配置文件要留着?..
Memory_wanwan 2011-05-19
  • 打赏
  • 举报
回复
映射有问题把。。。
危险的大猫 2011-05-19
  • 打赏
  • 举报
回复
goodsandimageinfos

你没有设置这个表的配置文件.
sxb372435741 2011-05-19
  • 打赏
  • 举报
回复
配置文件的问题吧!
Artognou 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 java_xiaoyi 的回复:]

你在hibernate.cfg.xml中都配置好了吗?
[/Quote]

你是说6楼那种么?
大壹哥 2011-05-19
  • 打赏
  • 举报
回复
你在hibernate.cfg.xml中都配置好了吗?
Artognou 2011-05-19
  • 打赏
  • 举报
回复
2011-5-19 3:23:08 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
goodsandimageinfos is not mapped.
at org.hibernate.hql.ast.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:85)
at org.hibernate.hql.ast.FromElementFactory.addFromElement(FromElementFactory.java:77)
at org.hibernate.hql.ast.FromClause.addFromElement(FromClause.java:67)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:217)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:2830)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2719)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:513)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:371)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840)
at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:832)
at com.ori.dao.goods.GoodsinfoDAO.getImage(GoodsinfoDAO.java:189)
at com.ori.biz.goods.GoodsinfoService.getGoodsInfoById(GoodsinfoService.java:42)
at com.ori.web.goodsAction.GoodsAction.getGoodsById(GoodsAction.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)



Artognou 2011-05-19
  • 打赏
  • 举报
回复
<set name="goodsandimageinfos" table="goodsandimageinfo">
<key>
<column name="GOODSID" />
</key>
<many-to-many class="com.ori.model.goods.Imageinfo" column="IMAGEID"/>
</set>

这是goodsinfo.hbm.xml里面的配置 有什么问题么..
危险的大猫 2011-05-19
  • 打赏
  • 举报
回复
异常信息多给点好吗
Artognou 2011-05-19
  • 打赏
  • 举报
回复
2011-5-19 3:20:47 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
Goodsandimageinfos is not mapped.

这个要怎么弄啊...
Artognou 2011-05-19
  • 打赏
  • 举报
回复
额 后面少加了个and
Artognou 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 andymu077 的回复:]

from Goods a, GoodsAndImage b, Image c where a.goodsid = b.goodsid and b.imageid=c.imageid
[/Quote]

2011-5-19 3:15:28 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
line 1:144: unexpected token: a

报这个错啊 我的HQL语句是
hqls="from Goodsinfo a, Goodsandimageinfos b,Imageinfo c where a.goodsid = b.goodsid and b.imageid=c.imageid a.goodsid="+goodsId;
安迪 2011-05-19
  • 打赏
  • 举报
回复
from Goods a, GoodsAndImage b, Image c where a.goodsid = b.goodsid and b.imageid=c.imageid

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧