簡體   English   中英

通過示例實體進行休眠搜索,ID不在屬性列表中

[英]hibernate search critteria by sample entity, id not on a property list

我有一個休眠的實體車

@Entity
@Table(name = "car")
public class Car extends AbstractEntityBean implements java.io.Serializable {

    private Integer carId;
    private Integer name;

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "carId", unique = true, nullable = false)
    public Integer getCarId() {
        return this.carId;
    }

    public void setCarId(Integer carId) {
        this.carId = carId;
    }

    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

然后,我嘗試通過示例搜索汽車:crit.add(example);

在“示例”中,我設置了carName和搜索效果,與預期的一樣。 但是,當我在“示例”中設置carId時,carId在搜索條件中將被忽略,查詢將返回所有汽車。 我做了一些調試,並且在hibernate-core-3.6.10.Final-sources.jar!\\ org \\ hibernate \\ tuple \\ entity \\ EntityMetamodel.java中看到了一個屬性

private final String[] propertyNames;

我可以在propertyNames列表中看到“名稱”,但看不到cardId。 當我在名稱中添加注釋@Id而不是carId時,carId會顯示在propertyNames列表上,並且我可以通過示例來搜索設置了carId的示例。

問題:在carId設置@Id注釋時,如何使用carId示例搜索?

謝謝

正如我從具有休眠標准的QBE中所記得的那樣,這就是它的設計方式。 簡短的問題是,您無法使用QBE來查詢ID。 而且這也沒有意義。 按ID查詢時,只能得到一個結果。

附帶說明:Hibernate 3.6相當老。 可能已經過時了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM