dmo*_*rar 19 java spring hibernate jpa spring-data-jpa
我正在学习bootspring.
findByDate(int date);过去工作,直到我int Date进入内部阶级.
现在我可以保存新条目,但是我无法通过日期对它们进行检索
我需要改变什么?
@Transactional
public interface ExpirationDAO extends JpaRepository<ExpirationDTO, Long> {
public ExpirationDTO findByDate(int date);
}
Run Code Online (Sandbox Code Playgroud)
和
@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
}
Run Code Online (Sandbox Code Playgroud)
抛出此异常:
org.springframework.data.mapping.PropertyReferenceException: No property date found for type ExpirationDTO!
Run Code Online (Sandbox Code Playgroud)
Jav*_*ick 30
您应该在存储库中包含嵌入式密钥类的名称而不是Long.试试这个(未经测试):
public interface ExpirationDAO extends JpaRepository<ExpirationDTO, IdKey> {
public List<ExpirationDTO> findByIdDate(int date);
}
Run Code Online (Sandbox Code Playgroud)
之后findBy Id是你的EmbeddedId,Date是可嵌入类的属性.还有一件事:如果你只使用嵌入式密钥的一部分,你不能指望只有一个结果......
| 归档时间: |
|
| 查看次数: |
25968 次 |
| 最近记录: |