亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Hibernate CriteriaQuery 如何查找具有兩個條件的整數列表

Hibernate CriteriaQuery 如何查找具有兩個條件的整數列表

忽然笑 2021-09-03 16:40:34
我有兩個實體類一:@Table(name = "package")public class Package {    @Id    @Column(name = "package_id", insertable = false, nullable = false)    private Long packageId;    @Column(name = "timestamp", nullable = false, updatable = false)    @Temporal(TemporalType.TIMESTAMP)    private Date timestamp;    @Column(name = "name", nullable = false)    private String name;    @ManyToOne(fetch = FetchType.LAZY, optional = false)    @JoinColumn(name = "queue_id",foreignKey=@ForeignKey(name = "package_queue_id_fk"))    private Queue Queue;@Column(name = "file_number", nullable = true)private Integer fileNumber;和@Table(name = "queue")public class Queue {    @Id    @Column(name = "queue_id", insertable = false, nullable = false)    private Integer queue;    @Column(name = "description", nullable = true)    private String description;    @Column(name = "name", nullable = false)    private String name;    @OneToMany(mappedBy = "Queue", fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.REFRESH })    @MapKeyColumn(name = "package_id")    private Set<Package> packages;我想根據 package.name 和 package.queue.queue_id 找到文件編號列表所以目前我只有一個條件(名稱),它看起來像這樣:public List<Integer> getAllFileNumbers(String fileName, Integer queueId) {    CriteriaBuilder cb = em.getCriteriaBuilder();    CriteriaQuery<Integer> query = cb.createQuery(Integer.class);    Root<Package> package = query.from(package.class);    query.select(package.get("fileNumber")).where(cb.equal(package.get("name"), fileName));    return em.createQuery(query).getResultList();}任何人都可以幫我添加另一個,除此之外,還要記住該值必須來自另一個實體。
查看完整描述

2 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

queue_id是列的名稱。您必須使用字段的名稱,即Queue,并且您必須獲取它的 id 字段 ( queue) 進行比較。

如果您使用元模型生成器,這可以變得更容易和更類型安全。


查看完整回答
反對 回復 2021-09-03
  • 2 回答
  • 0 關注
  • 265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號