Mysql 如何从hibernate获取特定列存储过程

Mysql 如何从hibernate获取特定列存储过程,mysql,hibernate,stored-procedures,Mysql,Hibernate,Stored Procedures,我正在尝试使用hibernate通过存储过程从MYSQL数据库中获取用户详细信息。我得到: org.hibernate.exception.sqlgrammareexception:无法执行查询 原因:java.sql.SQLException:未找到“创建时间”列 在MYSQL数据库中,我为create_time采用了时间戳数据类型 为什么? 我的存储过程 DELIMITER $$; DROP PROCEDURE IF EXISTS `BIM`.`getUserDetailsSP`$$ C

我正在尝试使用hibernate通过存储过程从MYSQL数据库中获取用户详细信息。我得到:

org.hibernate.exception.sqlgrammareexception:无法执行查询 原因:java.sql.SQLException:未找到“创建时间”列

在MYSQL数据库中,我为create_time采用了时间戳数据类型
为什么?

我的存储过程

DELIMITER $$;

DROP PROCEDURE IF EXISTS `BIM`.`getUserDetailsSP`$$

CREATE DEFINER=`mariadb`@`%` PROCEDURE `getUserDetailsSP`(IN in_email VARCHAR(255))
BEGIN
    SELECT UserID, a.UserTypeID, b.UserTypeName,firstname,lastname,phone
    FROM BIM.UserDetailsV a 
    JOIN BIM.UserTypeDetailsV b ON a.UserTypeID = b.UserTypeID 
    WHERE a.email = in_email;
END$$

DELIMITER ;$$
休眠

try{
    Session session = sessionFactory.openSession();
    Query query = session.createSQLQuery(
            "CALL getUserDetailsSP(:email)")
            .addEntity(UserDTO.class)
            .setParameter("email", "bob@gmail.com");

        List result = query.list();
        for(int i=0; i<result.size(); i++){
            UserDTO stock = (UserDTO)result.get(i);
            System.out.println(stock.getFirstName());
        }
    }catch (HibernateException e) {
        e.printStackTrace();

    } 

请添加UserDTO的代码。在mysql db中,我为create_timeCheck使用了timestamp数据类型。如果在过程的select语句中添加create_time,会发生什么:
select UserID,a.UserTypeID,b.UserTypeName,firstname,lastname,phone,创建\u time FROM…
然后电子邮件列未找到我已尝试buddyHibernate尝试从返回的结果集中映射实体中的所有列。因此,实体中标记为@Column的所有字段都必须出现在存储过程的select子句中。请添加UserDTO的代码。在mysql db中,我为create_timeCheck使用了timestamp数据类型。如果在过程的select语句中添加create_time,会发生什么:
select UserID,a.UserTypeID,b.UserTypeName、firstname、lastname、phone、create_time FROM…
然后电子邮件列未找到我已尝试buddyHibernate尝试从返回的结果集中映射实体中的所有列。因此,实体中标记为@Column的所有字段都必须出现在存储过程的select子句中。
public class UserDTO implements Serializable{
    @Id
    @GenericGenerator(name = "j", strategy = "increment")
    @GeneratedValue(generator = "j")
    @Column(name = "UserID")
    private long userID;

    @Column(name = "UserTypeID")
    private long userTypeID;

    @Column(name = "firstname")
    private String firstName;

    @Column(name = "lastname")
    private String lastName;

    @Column(name = "email")
    private String email;

    @Column(name = "phone")
    private String phone;

    @Column(name = "password")
    private String password;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "create_time")
    private Date create_time;

    @Column(name = "update_time")
    private Date update_time;
// getters and setters
}