I am currently using Kotlin 1.2 and Spring Boot 2.0 M7 with Spring Data JPA 2.0.2. In here I am trying to create a repository with a custom implementation. My reference is this https://docs.spring.io/spring-data/jpa/docs/2.0.2.RELEASE/reference/html/#repositories.custom-implementations
Here is the repo
interface DailyBuildStatusRepository : BaseRepository<DailyBuildStatus, Int>, DailyBuildStatusCustomRepository {
}
Here is the interface fragment
interface DailyBuildStatusCustomRepository {
fun filter(product: Int?, branch: Int?,
correction: Int?, globalSearch: String, isRegEx: Boolean,
columnParams: Collection<DataTableColumnBean>, start: Int, length: Int): List<DailyBuildStatus>
}
Here is the skeleton of the implementing class
@Repository
class DailyBuildStatusCustomRepositoryImpl : DailyBuildStatusCustomRepository {
@Autowired
private val em: EntityManager? = null
override fun filter(product: Int?, branch: Int?,
correction: Int?, globalSearch: String, isRegEx: Boolean,
columnParams: Collection<DataTableColumnBean>, start: Int, length: Int): List<DailyBuildStatus> {
//impl here
}
}
However, upon start up, I see this
Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List com.nokia.srandu.oms.corrviewer.db.repo.custom.DailyBuildStatusCustomRepository.filter(java.lang.Integer,java.lang.Integer,java.lang.Integer,java.lang.String,boolean,java.util.Collection,int,int)! No property filter found for type DailyBuildStatus!
.
.
.
Caused by: org.springframework.data.mapping.PropertyReferenceException: No property filter found for type DailyBuildStatus!
This was working previously in Spring Data 1.11.9 in Java (Of course the implementing class' name is different as per documentation). Maybe someone has an idea on why this is happening now in Spring 2.0.2?