Open
Description
Let's say we have such case:
@EntityView(Validation.class)
public interface ValidationView extends IValidation {
@Override
@Mapping("this")
TimePeriodForValidation getPeriod();
@EntityView(Validation.class)
abstract class TimePeriodForValidation extends TimePeriodView {
public TimePeriodForValidation(
@Mapping("startTime") LocalDateTime startTime,
@Mapping("endTime") LocalDateTime endTime
) {
super(startTime, endTime);
}
}
}
With com.blazebit:blaze-persistence-integration-quarkus-3 it gives me a
RuntimeException: Probably we did something wrong, please contact us if you see this message.
which is caused by compile error (at runtime), when it tries to call constructor of TimePeriodForValidation with strange paramters: TimePeriodForValidation_$$javassist_entityview and Map. TimePeriodForValidation_$$javassist_entityview is probably derived from TimePeriodForValidation
Caused by: javassist.CannotCompileException: [source error] cannot find constructor ru.elliptica.webid.jpa.view.ValidationView$TimePeriodForValidation_$$_javassist_entityview_(ru.elliptica.webid.jpa.view.ValidationView$TimePeriodForValidation_$$_javassist_entityview_,java.util.Map)
at javassist.CtBehavior.setBody(CtBehavior.java:474)
at javassist.CtBehavior.setBody(CtBehavior.java:440)
at javassist.CtConstructor.setBody(CtConstructor.java:228)
at com.blazebit.persistence.view.impl.proxy.ProxyFactory.finishConstructorWithPostConstruct(ProxyFactory.java:2532)
at com.blazebit.persistence.view.impl.proxy.ProxyFactory.createConstructor(ProxyFactory.java:2437)
at com.blazebit.persistence.view.impl.proxy.ProxyFactory.createCreateConstructor(ProxyFactory.java:2395)
at com.blazebit.persistence.view.impl.proxy.ProxyFactory.createProxyClass(ProxyFactory.java:588) ```
NB. startTime and endTime are fields of Validation.class
Seems like it only happens when ConstructorKind is ProxyFactory.ConstructorKind.CREATE