在Sprint JPA2中找不到类型错误的属性

时间:2013-06-19 01:52:58

标签: jpa spring-data

当我调用findAll方法时,我在Spring JPA中出错:

org.springframework.data.mapping.PropertyReferenceException:找不到类型models.Apk的属性包。

@Entity
@Table(name="Apks")
public class Apk implements Serializable {

    @EmbeddedId private ApkPk id;
    @Column private String fileName;
    @Column private String description;
    @Column(updatable=false)
    @Temporal(TemporalType.TIMESTAMP)
    private Date creationTime;
    @Column
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastUpdateTime;

    @ManyToOne
    @JoinColumn(name="appId", referencedColumnName="appId", insertable=false, updatable=false)
    @NotFound(action=NotFoundAction.IGNORE)
    @JsonIgnore
    private App app;


//Getters and setters
}


package mypackage.repositories;
public interface ApkRepository extends PagingAndSortingRepository<Apk, ApkPk> {

    public List<Apk> findByFileName(String value);

}

的applicationContext.xml

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="persistenceUnitName" value="myjpa" />
</bean>

我有很多存储库类,但只有这一个出现错误。我发现Spring Data根据实体类检查命名约定,因此我的存储库名称应该是ApkRepository。但事实并非如此。 我能解决这个问题吗? 任何帮助将不胜感激。

编辑: 当我进行单元测试时,它工作正常。我通过服务类调用时发生错误。

repository.findAll(new PageRequest(1, 30));

0 个答案:

没有答案