我正在用bootspring学习。
findByDate(int date);一直工作到我int Date进入内部课程为止。
findByDate(int date);
int Date
现在,我可以保存新条目,但不能通过Date检索它们
我需要更改什么?
@Transactional public interface ExpirationDAO extends JpaRepository<ExpirationDTO, Long> { public ExpirationDTO findByDate(int date); }
和
@Embeddable public static class IdKey implements Serializable{ @NotNull int date; @ManyToOne ProductDTO product; public IdKey(){ } //setters and getters } @EmbeddedId private IdKey id; @NotNull int units; public ExpirationDTO(){ } //setters and getters }
抛出此异常:
org.springframework.data.mapping.PropertyReferenceException: No property date found for type ExpirationDTO!
您应该在存储库中包括嵌入式密钥类的名称,而不是Long。试试这个(未测试):
public interface ExpirationDAO extends JpaRepository<ExpirationDTO, IdKey> { public List<ExpirationDTO> findByIdDate(int date); }
之后findBy Id是您的EmbeddedId,Date是可嵌入类的属性。还有一件事:如果仅使用嵌入式密钥的一部分,那么就不会期望只有一个结果…
findBy
Id
EmbeddedId
Date