2010-09-03 73 views
1

我有一個叫做「大陸與國家」的課。我如何編寫HQL來獲取?

洲類有國家收集:

private ISet<Country> _countries; 
    public virtual ISet<Country> Countries 
    { 
     get { return _countries; } 
     set { _countries = value; } 
    } 

我想寫一個HQL查詢,將得到所有具有國家至少有一個國家與國家或地區名稱=「A」

大陸我國家類有財產:

public virtual string CountryName { get; set; } 

而且我有我的.hbm.xml文件有Db關係信息爲大陸和國家對象。

我應該如何寫在這裏我的HQL:

public IList<Continent> GetContinentsWithCountriesStartingWithLetter(char letter) 
     { 

      string query = ":letter"; //The query to be used 
      return 
       _session 
        .CreateQuery(query) 
        .SetString("letter", letter.ToString()) 
        .List<Continent>(); 
     } 

謝謝!

回答

3
return _session 
    .CreateQuery("from continent in Continent inner join continent.Countries country where country.Name like :letter") 
    .SetString("letter", letter) 
    .List<Continent>(); 
+0

Boogart:謝謝!你能推薦我一個涵蓋所有HQL語法和用法的好資源嗎? – pencilCake 2010-09-03 14:00:54

+0

@burak:我不會說這很好,但是您是否有方便的NH用戶指南?你應該抓住PDF並讓它躺在你做NH開發的任何地方。 – 2010-09-03 14:04:31

+0

@ Kent Boogart:我認爲你的意思是這樣的:http://docs.jboss.org/hibernate/core/3.3/reference/en/pdf/hibernate_reference.pdf謝謝肯特! – pencilCake 2010-09-03 14:06:36