如何使用“findBy”在具有复合PK(Hibernate JPA)的实体中 [英] How to use "findBy" in an Entity with a Composite PK (Hibernate JPA)
问题描述
findByDate(int date);
用于工作,直到我将 int Date
移到内部类中。
现在我可以保存新条目但我无法通过日期
我需要改变什么?
@Transactional
public interface ExpirationDAO扩展了JpaRepository< ExpirationDTO,Long> {
public ExpirationDTO findByDate(int date);
}
和
@Embeddable
public static class IdKey implements Serializable {
@NotNull
int date;
@ManyToOne
ProductDTO产品;
public IdKey(){
}
// setter和getters
}
@EmbeddedId
私人IdKey ID;
@NotNull
int单位;
public ExpirationDTO(){
}
// setters and getters
}
抛出这个异常:
org.springframework.data.mapping.PropertyReferenceException:No为类型ExpirationDTO找到属性日期!
您应该在资源库中包含嵌入式密钥类的名称龙的。
试试这个(未测试):
public interface ExpirationDAO扩展JpaRepository< ExpirationDTO,IdKey> {
公共列表< ExpirationDTO> findByIdDate(int date);
}
之后 findBy
Id
是您的 EmbeddedId
和 Date
是可嵌入类的属性。还有一件事:如果你只使用嵌入式密钥的一部分,你不能期望只有一个结果...
I am learning with bootspring.
findByDate(int date);
used to work until I've moved int Date
into the inner class.
Now I can save new entries but I can't retrive them byDate
What do I need to change?
@Transactional
public interface ExpirationDAO extends JpaRepository<ExpirationDTO, Long> {
public ExpirationDTO findByDate(int date);
}
and
@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
}
throws this exception:
org.springframework.data.mapping.PropertyReferenceException: No property date found for type ExpirationDTO!
You should include name of embedded key class in repository instead of Long. Try this one (not tested):
public interface ExpirationDAO extends JpaRepository<ExpirationDTO, IdKey> {
public List<ExpirationDTO> findByIdDate(int date);
}
There after findBy
Id
is yours EmbeddedId
and Date
is attribute of embeddable class. And one more thing: if you use only part of embedded key, you can't expect only one result...
这篇关于如何使用“findBy”在具有复合PK(Hibernate JPA)的实体中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!