Java “where子句”中的未知列用户名

Java “where子句”中的未知列用户名,java,sql,hibernate,jdbc,hibernate-mapping,Java,Sql,Hibernate,Jdbc,Hibernate Mapping,当我尝试在表上选择其中一列为外键时,出现此错误: select count(*) from cards where username = 'name'; 我是通过java jdbc实现的,因此我认为我的映射有问题,因为通过MySql命令行在上执行相同的查询很好: <many-to-one name="users" class="table" update="false" insert="false" fetch="select"> <column name="

当我尝试在表上选择其中一列为外键时,出现此错误:

select count(*) from cards where username = 'name';
我是通过java jdbc实现的,因此我认为我的映射有问题,因为通过MySql命令行在上执行相同的查询很好:

<many-to-one name="users" class="table" update="false" insert="false" fetch="select">
        <column name="username" length="45" not-null="true" />
</many-to-one>
我要说的是:


第16.1.2节和第16.1.3节可能是我问题的答案,但我想不出答案…

错误消息指出:

无法从结果集中读取列值:用户名;找不到列“username”

从中选择计数*的结果集。。。没有名为username的列。它只包含一列,即计数。

尝试执行

 select count(*) from cards where `cards`.username='name';

for get字段不应使用Select*。
应使用用户名为'name'的卡片中的select countusername;表达式。

1检查您是否从正确的表中选择。2检查您是否连接到正确的数据库。是的,我支持1和2@user1692261例如我不确定我是否听懂了。您向查询提供“name”,并获取该名称的计数。这是一个多对一表。对于每个usarname属性,此表中可能有几行。例如,我想计算表中用户名NPE的行数。
 select count(*) from cards where `cards`.username='name';