1

我对这些别名的“c”选择语句有疑问。我从数据库中得到一个无效的列“c”错误。但是网上各种例子都是用这种写select语句的。

Query query = em.createQuery(
"SELECT c FROM Country c WHERE c.name = 'Canada'");
Country c = (Country)query.getSingleResult();

这种写供应商的方式是特定的吗?

谢谢你的帮助?

4

3 回答 3

2

你不能只说 c 被选中,因为它只是一个别名

你必须尝试这样的事情;

select c.name from country c where c.name='canada'

于 2012-10-18T13:03:48.900 回答
0

使用 SELECT 时,您需要指定数据库中的哪些列。如果您想要所有列,请使用

SELECT * FROM <table>

或者,如果您要连接表,并且只希望该表中的列使用

SELECT <table>.* FROM <table>
于 2012-10-18T13:08:07.713 回答
0

上面的示例是对类/实体的查询,而不是对本机数据库的查询。C 代表对象实例。我的错误是我混淆了原生查询和普通查询。

于 2012-10-18T14:34:14.383 回答