Запрос данных Spring из метода не распознает столбец

Я использую данные Spring, я создал свои сущности, обернутые внутри "абстрактности", которую все объекты расширяют, чтобы получить базовые столбцы

AbstractEntity:

@MappedSuperclass
public abstract class AbstractEntity implements Serializable{

    @Temporal(TemporalType.TIMESTAMP)
    @Column(nullable = false)
    private Date CreatedDate;

    @PrePersist
    protected void onCreate() {
        UpdatedDate = CreatedDate = new Date();
    }

...

и мой объект/объекта

@Entity
public class Trade extends AbstractEntity {

когда я пытаюсь использовать свой репозиторий для создания метода findByCreatedDateAfter(Date date)

Я получаю исключение, что столбец не может быть найден...?

public interface TradeRepository extends CrudRepository<Trade, Long>{

    public List<Trade> findByCreatedDateAfter(Date date);
}

он компилируется (если я использую определенную капитолизацию), но чем пытаться отобразить запрос, я получаю:

Caused by: java.lang.IllegalArgumentException: Unable to locate Attribute  with the the given name [createdDate] on this ManagedType [streaming.data.AbstractEntity]

Я также хотел бы вернуть sum(amount) одного из столбцов суммы за этот период.

1 ответов


механизм вывода запроса требует применения стандартных соглашений об именовании свойств Java. Нет никакой собственности createdDate Как это называется CreatedDate в своем классе.

чтобы настроить сопоставление с определенным столбцом, используйте @Column аннотация (отсюда и название).