-1

私は休止状態とhqlが初めてです。以下のクエリに相当するhqlは何ですか?

SELECT  CONVERT(DATETIME,
LEFT(CAST([run_date] AS VARCHAR),4) + '-' +  
SUBSTRING(CAST([run_date] AS VARCHAR),5,2) + '-' + 
SUBSTRING(CAST([run_date] AS VARCHAR),7,2) + ' ' + 
LEFT(RIGHT('000000' + CAST([run_time] AS VARCHAR),6),2) + ':' + 
SUBSTRING(RIGHT('000000' + CAST([run_time] AS VARCHAR),6),3,2) + ':' + 
SUBSTRING(RIGHT('000000' + CAST([run_time] AS VARCHAR),6),5,2)
,121)
FROM sysjobhistory

ありがとうございました

4

3 に答える 3

1

そのための HQL クエリは作成しません。代わりに、単純な hql をrun_time使用して ResultTransfomer を読み取り、いくつかの Date Fromater と共に使用して最終結果を取得します。

于 2012-10-29T14:39:47.470 に答える
0

sysjobhistoryは特定のRDBMSに固有であるため、それをDB自体のストアドプロシージャまたはユーザー関数として定義し、HQLから呼び出すことをお勧めします。

于 2012-10-30T14:31:47.747 に答える
0

あなたは本当にここで NHibernate を苦しめています。確かに、と ssysobjhistoryを使用した奇妙なスキーマがrun_dateありますrun_timeint、あなたがしていることは NHibernate の方法ではありません。

IUserTypeその方法は、ネイティブDateTimeインスタンスとこれら 2 つの列の間で変換するカスタムを作成することです。

于 2012-10-29T14:43:55.793 に答える