gpt4 book ai didi

spring-data - 从 Spring Data 1.11 升级到 Spring Data 2.0 导致 "No property delete found for type SimpleEntity!"

转载 作者:行者123 更新时间:2023-12-05 00:49:47 25 4
gpt4 key购买 nike

我有一个简单的项目,其中定义了以下类。它在 spring-boot 1.5.4、spring-data-commons 1.13 和 spring-data-jpa 1.11 中运行良好。

当我升级到 spring-boot 2.0.0.M5、spring-data-commons 2.0.0 和 spring-data-jpa-2.0.0 时,我在启动时收到一个 PropertyReferenceException,上面写着“No property delete found for type SimpleEntity!”不幸的是,我无法得到堆栈跟踪
我收到错误的计算机,为了安全起见,它已被锁定。

有任何想法吗?我发现的其他帖子似乎与我的情况不符。

这是类(更改了名称,但您明白了):

package entity;

@MappedSuperclass
public abstract class BaseEntity implements Serializable {
....
}

package entity;

@Entity
@Table(schema = "ENTITIES", name = "SIMPLE")
public class SimpleEntity extends BaseEntity {
@Column(name = "ID")
private Long id;

@Column(name = "CODE")
private String code;

@Column(name = "NAME")
private String name;

... getters and setters ...
}

package repository;
imoport org.springframework.data.repository.Repository

public interface SimpleRepository extends Repository<SimpleEntity, Long> {
public SimpleEntity save(SimpleEntity entity);
public List<SimpleEntity> save(List<SimpleEntity> entities);
public void delete(Long id);
public SimpleEntity findOne(Long id);
public List<SimpleEntity> findAllByOrderByNameAsc();
public List<SimpleEntity> findByCode(String code);
public List<SimpleEntity> findByNameIgnoreCaseOrderByNameAsc(String name);
}

最佳答案

事实证明 Spring Data 2.0 CrudRepository 接口(interface)发生了重大变化。我收到的错误发生在以下情况下:

  • 您有一个 1.x Sping Data 项目
  • 您有一个直接扩展 Repository 的接口(interface),而不是像 CrudRepository
  • 这样的子接口(interface)
  • 您的 Repository 子接口(interface)声明了 CrudRepository 中的“void delete(ID)”方法(在我的情况下为“void delete(Long)”
  • 您更新到 Spring Data 2.x

  • 问题是 2.x 中的 CrudRepository 不再有“void delete(ID)”方法,它被删除了,并添加了一个新方法“void deleteById(ID)”。

    当 Spring 数据看到它无法识别的删除方法签名时,它会产生一个关于您的实体类缺少删除属性的错误 - 这对于 1.2 和 2.x 都是如此。

    关于spring-data - 从 Spring Data 1.11 升级到 Spring Data 2.0 导致 "No property delete found for type SimpleEntity!",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814230/

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