方法中的Spring Data查询无法识别列

jor*_*cke 6 hibernate spring-data

我正在使用Spring Data,我创建了包含在"AbstractEntity"中的实体,所有对象都扩展为获取基本列

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();
    }

...
Run Code Online (Sandbox Code Playgroud)

和我的对象/实体

@Entity
public class Trade extends AbstractEntity {
Run Code Online (Sandbox Code Playgroud)

当我尝试使用我的存储库创建方法时 findByCreatedDateAfter(Date date)

我得到一个例外,无法找到该列......?

public interface TradeRepository extends CrudRepository<Trade, Long>{

    public List<Trade> findByCreatedDateAfter(Date date);
}
Run Code Online (Sandbox Code Playgroud)

它编译(如果我使用某些capitolization)但是试图映射查询,我得到:

Caused by: java.lang.IllegalArgumentException: Unable to locate Attribute  with the the given name [createdDate] on this ManagedType [streaming.data.AbstractEntity]
Run Code Online (Sandbox Code Playgroud)

我还想返回sum(amount)此期间的金额列之一.

Oli*_*ohm 10

查询派生机制要求应用标准Java属性命名约定.有没有财产createdDate,因为它被称为CreatedDate在你的类.

要自定义到某个列的映射,请使用@Column注释(因此名称).