首页 > 解决方案 > lombok builder() 方法有一条红线

问题描述

我有一个方法,它的任务是保存一个实体,该实体包含文件位置和其他要保存到数据库的字段。它将图片保存在本地文件夹中,而不是将文件位置和描述插入数据库。正如您在代码中看到的那样,我正在使用 lombok、springboot、jpa。该方法工作正常!我可以将我的文件位置和描述存储在数据库中,但问题是它Image.builder()是红色的,当我点击它时,它会显示(在图像类中创建方法 bulider)。图像是我的实体类,即使我在图像上创建了 bulider 方法,它也不能解决问题。需要解决 bulider 上的错误

图像实体

@Entity
@Table(name = "IMAGE")
@Data
@AllArgsConstructor
@Builder
public class Image {

    public Image(){
    }

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private int id;
    @Column(name = "name")
    private String name;
    @Column(name = "path")
    private String path;
    @Column(name = "description")
    private String description;
    @Column(name = "url")
    private String url;

}

图像服务

@Service
@Builder

public class ImageServic {

    @Value("${image.path}")
    private String path;
    @Value("${image.url}")
    private String url;
    @Autowired
    private ImageRepository repository;

    public Image saveImage(MultipartFile file, String description) {
        try {
            byte[] bytes = file.getBytes();
            Path pathImage = Paths.get(path + file.getOriginalFilename());
            Files.write(pathImage, bytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
        file.getOriginalFilename();
        Image image = Image.builder()  // here .builder() is red
                .name(file.getOriginalFilename())
                .description(description)
                .path(path)
                .url(url + file.getOriginalFilename())
                .build();
        repository.save(image);
        return image;
    }

    public List<Image> findAllImageUrl() {
        return repository.findAll();
    }

    public byte[] downloaderImage(String imageName) throws Exception {
        InputStream in = new FileInputStream(path + imageName);
        return IOUtils.toByteArray(in);
    }
}

标签: javaspringspring-bootjpa

解决方案


推荐阅读