2017-09-05 82 views
0

我設置數據庫調用的標準,並且無法理解如何設置我的代碼。我已經把我的標準,現在需要知道我如何確保我填充變量的權利。這是我的。Java的標準設置和獲取

Public class Key extends abstractDAO<key>{ 
Public List<Key> getKeyValues(){ 
Criteria c = createCriteria(); 
c.add(Restrictions.lt("id", 3)).addOrder(Order.asc("id")).list(); 
return c.list(); 

現在表格有2行。一個是最新的,第二個是新的請求行。該數據庫有3列。第1列是我的,第2列是關鍵,3是時間戳。我需要按順序填充所有變量。我不知道如何去這在我key.java文件

Key.java

@column(name="id") 
private int actualID; 

@column(name="key") 
private Boolean actualKey; 

@column (name="actualTime") 
private Date actualTime; 

然後要求,requestKey和requestTime重複。然後我有公開獲取併爲每個設置。尚未向任何方法添加任何參數。我不知道如何設置這個文件,因此當DAO請求數據庫的行時,列表實際設置了變量。

+0

此代碼是否適合您?你得到的錯誤是什麼? –

+0

它附加到一個巨大的系統,我沒有放置代碼,因爲我不知道如何確保它在key.java中設置值。 –

+0

您試圖填充數據庫或從中檢索值? 另外,你應該發佈你的映射類。 –

回答

0

嘗試以下操作:

public List<Key> getKeyValues() 
{ 
    return createCriteria() 
     .add(Restrictions.lt("actualID", 3)) 
     .addOrder(Order.asc("actualID")) 
     .list(); 
} 

前提是映射的休息和個createCriteria的實現()是正確的,它應該返回其ID小於3 Key的對象,通過ID排序列表。

+0

中檢索好的,我感到困惑的是如何填充密鑰。正確的Java文件作爲數據庫表的第1行和第2行是不同的 –

+0

Hibernate將數據庫行映射到java對象。 假設您有一個用@Table(「BAR」)註釋的鍵類型和一些用@column(name =「FOO」註解的字段),當您從數據庫檢索值時,hibernate將使用java反射和其他「黑客」爲稱爲BAR的表中的每一行創建一個Key對象,並使用數據庫中的值設置其帶註釋的字段。 –

+0

如果表中有2行的id小於3,則返回的列表將包含2個Key對象。每一個對應一個數據庫行 –