I have a class with multiple mapped superclasses
@EqualsAndHashCode(callSuper = true)
@Entity(name = "Supported_cars_usage")
@Data
@NoArgsConstructor
public class SupportedCarUsage extends SupportedUsageBase {
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "supported_car_id")
private SupportedCar supportedCar;
}
@MappedSuperclass
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
public class SupportedUsageBase extends BaseEntity {
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "user_id")
User user;
boolean allowed;
}
I am trying to select for, search by and group by some nested field. For the beginning I found I can refer nested field at all.
I tried variations like
Query query = em.createQuery("select supportedCar, allowed from Supported_cars_usage");
Query query = em.createQuery("select supportedCar, super.allowed from Supported_cars_usage");
Query query = em.createQuery("select supportedCar, SupportedUsageBase.allowed from Supported_cars_usage");
but failed with various errors. Is these some syntax to refer fields inside mapped superclass?
Database itself is created normally.
Getters are present and created automatically with Lombok
(see @Data
annotation).
I wish not to use native queries.