JPA中的Alias Select语句提供无效的列名

时间:2012-10-18 12:59:54

标签: sql jpa glassfish-3

我对这些别名的“c”选择语句有疑问。我从数据库中收到无效的列“c”错误。但是,Web中的各种示例都使用这种类型的select语句。

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

这种写供应商的具体方式吗?

谢谢你的帮助?

3 个答案:

答案 0 :(得分:2)

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

你必须尝试这样的事情;

  

选择c.name    来自国家c   其中c.name ='canada'

答案 1 :(得分:0)

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

SELECT * FROM <table>

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

SELECT <table>.* FROM <table>

答案 2 :(得分:0)

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