2008-12-31 50 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