我正在学习Spring boot,遇到了一个问题。我创建了一个费用类,如下所示:
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Data
@Table(name="expense")
public class Expense {
@Id
private Long id;
private Instant expensedate;
private String description;
private String location;
@ManyToOne
private Category category;
@JsonIgnore
@ManyToOne
private User user;
}
现在我正在尝试创建一个控制器来添加/删除费用对象。以下方法用于创建费用对象:
@PostMapping("/expenses")
ResponseEntity<Expense> createExpense(@Valid @RequestBody Expense expense) throws URISyntaxException{
Expense result = expenseRepository.save(expense);
return ResponseEntity.created(new URI("/api/expense" + result.getId())).body(result);
}
但是在这个方法中我收到以下错误:
Expanse 类型的 getId() 方法未定义
尝试在“@Id”下面使用“@GenerateValue”。
您可以使用
@Setter @Getter
注释
如果以上方法如:
安装Lombak
重新启动Eclipse
清理/构建项目 仍然显示错误,尝试第四件事:
我删除了@Data的最后一个字符并使用intellisense将其放回去。 Eclipse刷新了项目,getId()就不见了。
更新intellij IDEA并重新启动。这可能需要很少的时间。并安装 lombok 插件。它对我有用。
在这里,我遇到了问题:https://www.youtube.com/watch?v=uNC8v-BVLRU&list=PLGRDMO4rOGcNLnW1L2vgsExTBg-VPoZHr&index=6&t=146s