Запрос данных 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
аннотация (отсюда и название).