I use Spring Roo + Spring Data + QueryDSL and I have the following classes/interfaces:
public interface FamilyAdvertisementRepositoryCustom {
}
@RooJpaRepository(domainType = FamilyAdvertisement.class)
public interface FamilyAdvertisementRepository extends FamilyAdvertisementRepositoryCustom {
}
public class FamilyAdvertisementRepositoryImpl extends QueryDslRepositorySupport implements FamilyAdvertisementRepositoryCustom {
//NO CONSTRUCTOR
}
all in following package: com.bignibou.repository;
With following config:
<repositories base-package="com.bignibou.repository" />
However, I get this error:
[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.2:compile (default) on project bignibou: Compiler errors : [ERROR] error at public class FamilyAdvertisementRepositoryImpl extends QueryDslRepositorySupport implements FamilyAdvertisementRepositoryCustom { [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [ERROR] /home/julien/Documents/donnees/projets/site-garde-enfants/java/bignibou/src/main/java/com/bignibou/repository/FamilyAdvertisementRepositoryImpl.java:5:0::0 Implicit super constructor QueryDslRepositorySupport() is undefined for default constructor. Must define an explicit constructor
It seems the QueryDslRepositorySupport class no longer has a default constructor whereas this was the case before. Why is that??
What I am getting wrong?
The change was introduced to force the Builder
being returned from getBuilder()
into a single domain type. Simply create a constructor without arguments and invoke the super class' constructor with the domain type you implement the repository for.