私はbootspringで学習しています。コンポジットPK(Hibernate JPA)でエンティティで "findBy"を使用する方法
findByDate(int date);
私がint Date
を内部クラスに移動するまで動作していました。
今、私は新しいエントリを保存することができますが、私は彼らに私は変更する必要がありますどのようなBYDATE
をretriveできないのですか?
@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!
データベースの日付はどのような属性ですか?文字列で 'findByDate(String date)'を持ち、 'IdKey'で' int'を持っているからです。例外はありますか?そして、あなたが働いていないものをより具体的にしてください。 – Patrick
あなたはそのことについて正しいです。 Stringの代わりにintでなければならないが、私は問題ではない。そのミスでうまくいきました。 例外: 'org.springframework.data.mapping.PropertyReferenceException:タイプExpirationDTOのプロパティの日付が見つかりません! – dmorar
' expirationDTO'に 'int Date'を追加すると' findByDate'がExpirationDTOオブジェクトを返します。 – Patrick