我有一个SQL存储过程,它根据“ID”和“代码”提供分配给每个用户的菜单。 我的应用程序在Angular上运行,并使用Drools和Hibernate文件来获取填充应用程序的所有数据。
在那一刻我只想列出基于id和代码的所有菜单,但我只能列出所有菜单表(其中有超过1000条记录),就像我的hbm.xml文件没有运行存储过程。
这是我的hibernate文件:
<hibernate-mapping>
<class name="model.Menu" table="Table_MenuItem">
<composite-id>
<key-property column="Id" name="id" type="int"/>
</composite-id>
<property column="labelEN" name="labelen" type="string"/>
</class>
<sql-query name="SP_ListMenuItems">
<return alias="labelen" class="model.Menu">
<return-property column="labelEN" name="labelen"/>
</return>
<![CDATA[CALL SP_ListMenuItems(null,null,null,null)]]>
</sql-query>
</hibernate-mapping>
这里,Table_MenuItem是包含所有记录(超过1000)的表,SP_ListMenuItems是接受4个参数的存储过程,SP_ListMenuItems(code,id,lang,condition),如果所有参数都为null,则应该给出只有17条记录,但是请注意这个案例..即使使用那个hibernate文件,这应该只给我17条记录,我有超过1000条。
我缺少什么?提前致谢
编辑:我是否必须在角度.ts文件上调用查询,如何?