如何在hibernate

时间:2016-08-26 09:26:06

标签: java mysql spring hibernate

假设我有一个带有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如何获取返回的值?

2 个答案:

答案 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类中的表名和变量作为列名