簡體   English   中英

Hibernate Criteria Restriction字段命名混淆

[英]Hibernate Criteria Restriction field naming confusion

當我們應用條件時,我對Hibernate上的限制字段命名標准感到困惑。 我有一個名為“User”的數據庫表,它包含一個名為“ status_id ”的字段。 我已經使用eclipse hibernate工具生成POJO並且它創建了User類,並且類中的屬性名稱是“ statusId ”,它沒有“_”符號。

現在我想知道以下代碼,我必須使用哪個名稱作為限制條件。

Criteria criteria = session.createCriteria(User.class)
                 .add(Restrictions.eq(<column to check>, new Int(1)));

我的困惑在於是否使用列中的“ status_id ”或“ statusId ”來檢查標准。 我搜索了解釋,找不到類似的問題。 有人可以在這個問題上幫助我嗎?

@Column(name = "DEPT_NAME", length = 100)

private String DEPTNAME;

在使用本機sql時,應該使用DEPT_NAME

在使用HQL時標准期間使用DEPTNAME

使用statusId。 除非您嘗試編寫SQL,否則始終使用映射的POJOS中的字段名稱而不是表列名稱。

您使用bean屬性名稱。 如果您的列是status_id並且您的類中有int statusId ,則條件的屬性名稱是bean屬性的名稱: statusId

這會生成SQL並將確定您的查詢需要是status_id

http://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/criterion/Restrictions.html

暫無
暫無

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

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