2017-09-17 8 views
2

は、ABCは、私が作成され、それらのIDを取得したい2つの列つまりID & CREATED_DATE休止 - 句

は、SQLクエリの下'09-11-2017''09-17-2017'

を言うことができます持つ一つのテーブルを言うことができます日付を使用して、単一列のデータをフィルタリングしますうまく動作しますが、私は同じロジックをhibernateを使って実装したいと思います。

select ID from ABC where between TO_DATE('09-11-2017', 'MM-DD-YYYY') AND TO_DATE('09-17-2017', 'MM-DD-YYYY') 

マイコードが機能していません。

public List getData(final Date startDate, final Date endDate){ 

    String sqlString = "select ID from ABC where CREATED_DATE between :startDate and :endDate"; 
    SQLQuery query = getSession().createSQLQuery(sqlString); 
    query.setParameter(CREATED_DATE); 
    return query.list(); 
} 

答えて

3

あなたが不足している終了日パラメータ:

String sqlString = "select ID from ABC where CREATED_DATE between :startDate and :endDate"; 
SQLQuery query = getSession().createSQLQuery(sqlString); 
query.setParameter("startDate ", start_date); 
query.setParameter("endDate", end_date); 
return query.list(); 
+0

user7294900 @ありがとうございます。本当に役に立ちました。 – SKP

2

は、それが動作しません

試用:

public List getData(final Date startDate, final Date endDate){ 

    String sqlString = "select ID from ABC where CREATED_DATE between :startDate and :endDate"; 
    SQLQuery query = getSession().createSQLQuery(sqlString); 
    query.setParameter("startDate",startDate); 
    query.setParameter("endDate",endDate); 
    return query.list(); 
} 

-

pscar13

+0

第2パラメータは終了日です – user7294900

+0

ありがとう@ user7294900これは正しい –

+1

ありがとうございます@ YCF_L。私はちょうどより多くを学ぶためにオンライン文書を読むことを始めます。あなたたちは岩です – SKP

2

パラメータはクエリに文字列と一致する必要があります:あなたは正しいパラメータを設定していないため

query.setParameter(CREATED_DATE, startDate); 
query.setParameter(END_DATE, endDate);