假设我有一个带有feilds的UserDetails表:
UserId, RoleId, UserName, Password, Name, Mobile
和UserRole whit:
RoleId, RoleName, UserPage
我希望通过连接两个(或多个表)表来获取某些信息。我的查询为:
SELECT ud.UserId,
ud.RoleId,
ud.UserName,
ud.Password,
ud.Name,
ud.Mobile,
ud.DateOfBirth,
ur.RoleName,
ur.UserPage
FROM UserRole ur join UserDetails ud on ur.RoleId =ud.RoleId and UserName='user1';
在Spring中使用JdbcTemplate我能够获得但是使用hibernate如何获取返回的值?
答案 0 :(得分:1)
我认为你的问题可以通过在hibernate中使用标准来解决,或者在hibernate中使用本机SQL查询来从数据库中获取所有数据。
答案 1 :(得分:1)
您可以使用的两种方式。
这是sql查询:
String userName = 'user1'
createSQLQuery("SELECT ud.UserId,
ud.RoleId,
ud.UserName,
ud.Password,
ud.Name,
ud.Mobile,
ud.DateOfBirth,
ur.RoleName,
ur.UserPage
FROM UserRole ur join UserDetails ud on ur.RoleId =ud.RoleId and UserName="+userName)
这是hql查询:
FROM UserRole ur join fetch UserDetails ud where ud.UserName='user1';
使用pojo类名作为pojo类中的表名和变量作为列名