gpt4 book ai didi

java - Hibernate 4.2.4 - 返回多个实体 : ERROR SqlExceptionHelper:147 - unknown escape sequence {a. *}

转载 作者:太空宇宙 更新时间:2023-11-04 11:32:23 24 4
gpt4 key购买 nike

我在尝试通过 hibernate 返回多个实体时遇到错误。根据文档我尝试了以下选择语句:

sess.createSQLQuery("SELECT {a.*}, {b.*}  FROM A a LEFT OUTER JOIN B b").addEntity(A.class).addEntity(B.class)

不幸的是,它对我不起作用,我收到此错误:

ERROR SqlExceptionHelper:147 - unknown escape sequence {a.*}

为了确保它不仅仅是 {table.*} 语法,我用一个实体和相同的语法尝试了它,一切正常:

sess.createSQLQuery("SELECT {a.*} FROM A a ).addEntity(A.class)

你有什么想法吗?预先感谢您的提示和建议!

问候,文森特

附注:Hibernate 版本 4.2.4Db 是 MariaDb 10.1.22

@Eugene 帮助我解决了这个问题,如果你这样做的话,它会起作用:

sess.createSQLQuery("SELECT {a.*}, {b.*}  FROM A a LEFT OUTER JOIN B b on b.ida = a.id").addEntity("a", A.class).addEntity("b", B.class)

我的错误假设:

  • Hibernate 自行处理连接列(b.ida = a.id 上缺少 )
  • 只有添加实体的顺序才是决定性的(addEntity(A.class) 而不是 addEntity("a", A.class))

最佳答案

丢失的位是由于 b.ida = a.id 上缺少 造成的。现在为什么是未知的转义序列?可能是因为查询本身的完整性有一些 validator 失败了。

关于java - Hibernate 4.2.4 - 返回多个实体 : ERROR SqlExceptionHelper:147 - unknown escape sequence {a. *},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43652908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com