2008-12-31 21 views
1

我想在NHibernate中映射下面的SQL。 我需要創建一個單獨的實體對象,即RoomTypeVO映射到tb_tags來執行此操作嗎? 任何幫助非常感謝。Hibernate內部連接映射 - 字符串其中編號

SELECT dbo.tb_rooms.id, dbo.tb_rooms.name, dbo.tb_tags.name AS 'roomType' FROM dbo.tb_rooms INNER JOIN ON dbo.tb_tags(dbo.tb_rooms.typeID = DBO .tb_tags.id)

<id name="id" column="id"> 

    <generator class="native" /> 

</id> 

<property name="name" /> 

回答

1

如果直sql查詢你不必。如果你想使用HQL,你將不得不使用一個實體。

但是,你總是可以直接進行sql查詢。

如果你有一個映射的實體,那麼你很可能只是做這樣的事情:

FROM RoomType 
0

當你提到「從」,你在想這樣的事情?

<property name="totalPrice" 
formula="(SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p 
      WHERE li.productId = p.productId 
      AND li.customerId = customerId 
      AND li.orderNumber = orderNumber)"/> 
+0

我認爲他指的是使「選擇」子句可選的HQL查詢的語法。如果你都想要的是一個實體的集合,那麼「來自EntityName」就足夠了。 – 2009-01-02 00:27:39