友善的穿山甲兄弟 2023-10-16 17:20 采纳率: 77.8%
浏览 7

hibernate原生SQL只查询个别字段转实体类时报错:ERROR org.hibernate.util.JDBCExceptionReporter - 列名 name 无效。

Java hibernate代码:

StringBuilder sb = new StringBuilder();
sb.append("SELECT u.ID ID FROM dbo.USER u ");
List<User> list = this.getSession().createSQLQuery(sb.toString()).addEntity(User.class).list();

错误信息:
[catalina-exec-1-1]WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: S1093
[catalina-exec-1-1] ERROR org.hibernate.util.JDBCExceptionReporter - 列名 name 无效。

错误原因:
User实体中有name字段,而查询SQL没有name字段。

问题:
我就只想查询ID字段,不想查询NAME字段,怎么办呢?
主要我现在即使在SQL中加上了NAME字段,万一后续USER表又加了个AGE字段,岂不是这个SQL又要报错了?
如何才能只查询某几个字段呢?

  • 写回答

2条回答 默认 最新

  • bainlyblue 2023-10-16 17:37
    关注

    一般来说用Vo类来接收数据,数据库的字段最好与User字段对应,要加字段都在Vo类中加,数据操作也是操作Vo类

    评论

报告相同问题?

问题事件

  • 创建了问题 10月16日

悬赏问题

  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle