[color=green]比如这是一条正确的HQL语句:[/color]
String queryString="select new com.dio.blog.dto.UserListDto(fu.username,fu.nickName,fu.url,fu.level,fu.charactor,fua.fid,fua.realName) from FriendUser fu,FriendUserAssociation fua where fu.id in(select fuab.fid from FriendUserAssociation fuab where fuab.uid=?)and fu.id=fua.fid and fua.uid=?";
[color=green]如果这样写就会报错:[/color]
String queryString="select new com.dio.blog.dto.UserListDto(fu.username,fu.nickName,fu.url,fu.level,fu.charactor,fua.fid,fua.realName) from FriendUser fu,FriendUserAssociation fua where fu.id in(select [color=red]FriendUserAssociation [/color].fid from FriendUserAssociation fuab where [color=red]FriendUserAssociation [/color].uid=?)and fu.id=fua.fid and fua.uid=?";
这个例子说明:HQL查询时,如果要查询表中的字段,只能用别名。,不能用类名;
String queryString="select new com.dio.blog.dto.UserListDto(fu.username,fu.nickName,fu.url,fu.level,fu.charactor,fua.fid,fua.realName) from FriendUser fu,FriendUserAssociation fua where fu.id in(select fuab.fid from FriendUserAssociation fuab where fuab.uid=?)and fu.id=fua.fid and fua.uid=?";
[color=green]如果这样写就会报错:[/color]
String queryString="select new com.dio.blog.dto.UserListDto(fu.username,fu.nickName,fu.url,fu.level,fu.charactor,fua.fid,fua.realName) from FriendUser fu,FriendUserAssociation fua where fu.id in(select [color=red]FriendUserAssociation [/color].fid from FriendUserAssociation fuab where [color=red]FriendUserAssociation [/color].uid=?)and fu.id=fua.fid and fua.uid=?";
这个例子说明:HQL查询时,如果要查询表中的字段,只能用别名。,不能用类名;
本文通过一个具体的示例讲解了HQL查询中使用别名而非类名的重要性。文章指出,在HQL查询语句中引用表字段时,必须使用其在查询中的别名而不是类名,否则会导致语法错误。
728

被折叠的 条评论
为什么被折叠?



