2014-12-28 87 views
1

我有一個SQL查詢其作品上的SQL Server查詢窗口罰款並返回結果JPQL相當於這個SQL查詢(查詢從民族性格)

SQL查詢:

select * from table1 where title = N'تست' 

如果我把' N'在我的查詢在SQL中,查詢得到的結果,如果我不把'N'沒有結果將被返回。

問題是我該如何在jpql格式(與'N')這個查詢?

感謝回答

+0

如果您將查詢設置爲「from where title =:title」,那麼jpql查詢是否會給出正確的結果呢?並使用setParameter(title,「تست」)(不含N個字符)? –

+0

當我使用這個jpql時,我沒有得到任何結果: 從中選擇一個其中a.title ='تست' – Lithium

+0

嘗試解決[this SO question](http://stackoverflow.com/questions/5237280)/getting-hibernate-and-sql-server-to-play-nice -with-varchar-and -nvarchar) –

回答

1

嘗試設置這樣的Hibernate屬性:

hibernate.connection.defaultNChar=true 

如果您使用外部數據源(外部連接池像HikariCP),那麼要設置以下屬性在JDBC connection URL:

sendStringParametersAsUnicode=true 
+0

我設置了這個設置,並沒有爲我工作。現在我已經通過將數據庫的排序規則更改爲PERSIAN來解決此問題,因爲jdbc的sql驅動程序存在一些問題。無論如何,謝謝 – Lithium

+0

在我工作的大多數項目中,我們的數據庫都設置爲UTF8,Web服務器編碼也是UTF8。 –