考虑到速度问题,我现在想调用存储过程来做级联查询,但是这样会遇到一个问题,比如两个表:User表和Book表,Book表中的userid参考User的主键userid,这个在做反向工程之后生成的model类中,User类中将会有一个关于book的set类型的私有成员变量,那么我在Userinfo.hbm.xml中应该如何配置以组装从存储过程中查询出的内容呢?我看见网上有这样的资料 <sql-query name="getUserList" callable="true">
<return alias="user" class="User">
<return-property name="userid" column="userid"/>
<return-property name="name" column="name"/>
<return-property name="blog" column="blog" />
</return>
{call getUserList()}
</sql-query>在该文件中需注意<sql-query…></sql-query>中的这段代码,调用的存储过程在其中定义,并定义了调用存储过程后将记录组装成User对象,同时对记录的字段与对象的属性进行相关映射
但是级联情况应该怎么办呢?急求,在线等!
<return alias="user" class="User">
<return-property name="userid" column="userid"/>
<return-property name="name" column="name"/>
<return-property name="blog" column="blog" />
</return>
{call getUserList()}
</sql-query>在该文件中需注意<sql-query…></sql-query>中的这段代码,调用的存储过程在其中定义,并定义了调用存储过程后将记录组装成User对象,同时对记录的字段与对象的属性进行相关映射
但是级联情况应该怎么办呢?急求,在线等!
drop procedure if exists getUserInfoByName;
create procedure getUserInfoByName(IN uname varchar(45))
begin
select * from userinfo where username=uname;
end $$;如何在命令行下用call getUserInfoByName();里面的参数怎么写啊?
我只想确定,你的这个用存储过程查询的方式所提高的效率对整个系统影响很大吗,既然你的系统用上了Hibernate我觉得,一般也可以容忍级联关联的存在