这是我一直在阅读的方法,不是我自己提出的。 我不明白这个查询中的 o 也不明白它使用的 sql 语言。有人能向我解释一下它是如何工作的以及它的选择是什么吗?
queryMain.append("SELECT o FROM ctrData o ");
public Specification byCtr(String ctr) {
StringBuilder queryMain = new StringBuilder();
queryMain.append("SELECT o FROM ctrData o ");
StringBuilder clause = new StringBuilder();
clause.append("WHERE o.ctr = :ctr");
Map<String, Object> param = new HashMap<>();
param.put("ctr", ctr);
super.init(queryMain.toString(), clause.toString(), param);
return this;
}
最佳答案
您有以下查询:
SELECT o
FROM ctrData o;
在所有数据库中,这将从表 ctrData
中选择名为 o
的列。这相当于o.o
。
在大多数数据库中,如果没有这样的列,您将收到错误消息。一些数据库(例如 Postgres)支持记录/结构。在这些中,查询将返回与每行关联的记录。
关于java - sql查询中的这个占位符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57976963/