gpt4 book ai didi

java - 使用@Formula 增强 Spring 宠物诊所

转载 作者:行者123 更新时间:2023-12-01 10:05:47 26 4
gpt4 key购买 nike

我添加了一种向业主收取访问费用的方法,并标记对历史悠久的 Spring Pet Clinic 项目进行了哪些访问。现在我正在寻找账户中逾期未付款的所有者的列表。我遇到的问题是所有者表:

CREATE TABLE owners (
id INTEGER IDENTITY PRIMARY KEY,
first_name VARCHAR(30),
last_name VARCHAR_IGNORECASE(30),
address VARCHAR(255),
city VARCHAR(80),
telephone VARCHAR(20)
);

与访问表无关:

CREATE TABLE visits (
id INTEGER IDENTITY PRIMARY KEY,
pet_id INTEGER NOT NULL,
visit_date DATE,
description VARCHAR(255),
price NUMERIC(5,2),
payment_due DATE,
billed BOOLEAN,
paid BOOLEAN
);

保存价格和到期日期的地方。如果我可以使用 @Formula 注释,我想我就已经准备好了,但是当我尝试从 Owner 类运行 SQL 查询时,如下所示:

@Formula("(SELECT MAX(price) FROM visits)")
private int balance;

我收到错误:

WARN  SqlExceptionHelper - SQL Error: -5501, SQLState: 42501
ERROR SqlExceptionHelper - user lacks privilege or object not found: OWNER0_.PRICE
WARN warn - Handler execution resulted in exception: org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement;...

我想做一个复杂的 SQL 语句,但我什至无法让上面的简单语句工作。任何只是为了让 @Function 注释工作(或替代解决方案)的帮助都会有所帮助。

最佳答案

您可能必须指定 price 的位置来自,就像 @Formula("(SELECT MAX(v.price) FROM visits v)")

关于java - 使用@Formula 增强 Spring 宠物诊所,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com