我有一個簡單的項目,下面定義的類。在spring-boot 1.5.4,spring-data-commons 1.13和spring-data-jpa 1.11中,它工作得很好。從Spring Data 1.11升級到Spring Data 2.0會導致「找不到屬性類型爲SimpleEntity的屬性!」
當我升級到spring-boot 2.0.0.M5,spring-data-commons 2.0.0和spring-data-jpa-2.0.0時,我在啓動時收到一個PropertyReferenceException,其中顯示「找不到屬性刪除鍵入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);
}
我面臨同樣的問題,並沒有發現這種情況下的任何文件。 – nivash
我不希望這裏有任何文檔。請參閱上面的第2點:我選擇使用Repository - 一個空的界面 - 在這裏我們正確地定義了CrudRepository的一些子集的方法。如果我走這條路線,並聲明一個無法識別簽名的方法,那就是我的問題:)這只是意味着在升級時我必須意識到這一點。 Spring可以做得更好的唯一的事情是提供一個錯誤消息,其中聲明瞭一個無法識別的方法簽名,其中包含該特定版本的Spring Data的Repository接口的JavaDocs的URL。 – Greg