@Entity
@Table(name = "T019_STAFF_PROFILE")
public class UserDetails implements Serializable
{
private static final long serialVersionUID = -723583058586873479L;
@Id
@Column(name = "STAFF_ID", columnDefinition="CHAR(8)")
private String loginId;
@Column(name = "PASSWORD", columnDefinition="CHAR(8)")
private String password;
@Column(name = "FIRST_NAM")
private String firstName;
@Column(name = "LAST_NAM")
private String lastName;
@Column(name = "BUS_OG_CD" , columnDefinition="CHAR(3)")
private String profile;
public UserDetails getLoginDetails(String loginId)
{
UserDetails object =(UserDetails)sessionFactory.getCurrentSession().get(UserDetails.class, loginId);
return object;
}
答案 0 :(得分:0)
检查数据库以查看该值是否确实存在于数据库中。
SELECT * FROM T019_STAFF_PROFILE WHERE STAFF_ID = <the value of **loginId**>
答案 1 :(得分:0)
对于Time,创建了一个具有8个字符的临时用户,然后尝试通过休眠访问同一个用户。我能够获取记录。
@Id @Column(name =&#34; STAFF_ID&#34;,columnDefinition =&#34; CHAR(8)&#34;) private String loginId;
这是我的列定义。我有什么需要申报的吗?
答案 2 :(得分:0)
找到一些有趣的东西。如果方法错误,请纠正我。
由于我的db列声明为CHAR(8),要休眠,我应该总是传递8个char来获得结果。
因此,如果您的STAFF_ID为3个字符,则附加5个空字符并将其传递给休眠,这将获取您的记录。
有什么想法?
答案 3 :(得分:-1)
返回给定实体类的持久化实例 给定标识符,如果没有这样的持久化实例则为null。 (如果 实例已经与会话关联,返回该实例 实例。此方法永远不会返回未初始化的实例。)
因此,请检查数据库中是否存在数据。