0
Q
查詢使用彈簧規格
A
回答
4
那麼你可以這樣來做:
@Entity
public class A{
@ManyToMany
@JoinTable(....)
private Set<B> bs;
// getters and Setters
}
B類,讓我們假設你想通過比較b.property
@Entity
public class B{
@Column
private String property;
// getters and setters
}
一個抽象類,提供規格來查詢:
public abstract class ASpecifications{
public static Specification<A> findByProperty(final String prop) {
return new Specification<A>() {
@Override
public Predicate toPredicate(Root<A> root,
CriteriaQuery<?> arg1, CriteriaBuilder cb) {
return cb.equal(root.join(A_.bs).get(B_.property), prop);
}
};
}
}
現在使用它@服務層這種方式:
import static package.ASpecifications.*;
import static org.springframework.data.jpa.domain.Specifications.where;
@Transactional(...)
public List<A> findByJoinPropertyOFB(String prop){
Specifications<A> spec = where(findByProperty(prop));
retrun repository.findAll(spec);
}
現在確保您的存儲庫擴展JpaSpecificationExecutor<A>
若B包含引用到另一個對象C
,你要比較扔ç
值規範可以擴展這種方式:
cb.equal(root.join(A_.bs).get(B_c).get(c_.property), prop);
B_
,C_
而A_
是你的實體的元模型。 希望這會有所幫助。
相關問題
- 1. 彈簧數據查詢
- 2. 彈簧JPA JPQL查詢
- 3. 彈簧規格和可分頁
- 4. 具有繼承性的彈簧規格
- 5. 如何使用彈簧數據jpa的投影和規格?
- 6. 翻譯JPA查詢謂詞彈簧數據規範
- 7. 彈簧數據:複雜的查詢與規範
- 8. 如何用彈簧數據彈性查詢彈性
- 9. SQL查詢使用單引號使用彈簧jdbctemplate
- 10. 使用彈簧
- 11. 使用彈簧
- 12. 使用彈簧
- 13. 使用彈簧
- 14. 查看使用彈簧數據生成的查詢 - jpa
- 15. 使用連接表彈簧數據查找查詢
- 16. 使用彈簧安全與彈簧批
- 17. 使用ManagedCUDA查詢GPU規格
- 18. 通過實例查詢彈簧數據
- 19. 彈簧數據查詢方法創建
- 20. 彈簧數據mongodb地理查詢
- 21. 高級查詢彈簧啓動
- 22. 彈簧數據的JPA查詢名稱
- 23. 動態查詢彈簧數據jpa
- 24. 查詢彈簧數據jpa計數
- 25. 高級彈簧數據查詢/ critera
- 26. 查詢參數閱讀彈簧集成
- 27. 錯誤查詢jpa彈簧啓動
- 28. 使用彈簧oxm
- 29. 使用彈簧3.1
- 30. 使用彈簧MVC
什麼是「彈簧規格」?你想要做什麼?你遇到了哪個錯誤? –
這些規範:http://docs.spring.io/spring-data/jpa/docs/1.4.3.RELEASE/reference/html/jpa.repositories.html#specifications 我想查詢數據庫的實體過濾他們對實體B,其中A擁有一個集合。如'獲取包含這些B對象的A實體'。 –
這是很少的信息來幫助。請提供您的代碼,測試案例,顯示您正在嘗試做什麼。 –