【发布时间】:2016-12-03 20:32:08
【问题描述】:
我正在使用 JavaEE 构建货币转换器应用程序。基于 Web 的客户端输入金额和货币(例如“美元”和“欧元”)。
我不是 SQL 专家,当我运行和测试网页时,我收到以下错误:
java.sql.SQLSyntaxErrorException:语法错误:>在第 1 行第 12 列遇到“FROM”。错误代码:30000 调用:SELECT >ID、FROM、RATE、TO、VALUE FROM RATE WHERE ((FROM = ?) AND (TO = ?)) bind >=> [2 个参数绑定] 查询:ReadAllQuery(referenceClass=Rate >sql="SELECT ID, FROM, RATE, TO, VALUE FROM RATE WHERE ((FROM = ?) AND (TO > = ?))")
我使用实体管理器方法createQuery 获取这些值并尝试找到货币兑换率:
public double convertTo(double value, String from, String to) {
TypedQuery<Rate> query = em.createQuery(""
+ "SELECT c FROM Rate c WHERE c.from = :from AND c.to = :to", Rate.class);
query.setParameter("to", to);
query.setParameter("from", from);
Rate result = query.getSingleResult();
if (result == null) {
throw new EntityNotFoundException("Can't find rate");
}
return value * result.getValue();
}
我正在尝试更改查询,但它也不起作用。有什么建议吗?
【问题讨论】: