我正在使用javax swing做一个桌面应用程序,但是尝试登录该应用程序时出现异常。 错误如下:
异常消息:
实体类User由以下属性组成:ID(设置为自动递增),用户名,密码和RoleID(外键)。
控制数据库中选择的代码如下:
public User loginByUsernameAndPassword(String username, String password) throws HealthCareSkdException {
try {
Query query =
em.createQuery("SELECT u FROM User u WHERE u.username = :username AND u.password= :password");
query.setParameter("username", username);
query.setParameter("password", password);
return (User) query.getSingleResult();
}catch(Exception e) {
throw new HealthCareSkdException("Msg! \n" + e.getMessage());
}
}
和登录按钮:
private void loginBtnActionPerformed(java.awt.event.ActionEvent evt) {
try {
String username = usernameTxt.getText();
String password = new String(pwField.getPassword());
UserRepository repo = new UserRepository();
User user = repo.loginByUsernameAndPassword(username, password);
if (user != null) {
new MainForm().setVisible(true);
this.setVisible(false);
}
} catch (HealthCareSkdException exe) {
JOptionPane.showMessageDialog(this,exe.getMessage()+"");//exe.getMessage());
}
}
我真的不知道问题出在哪里,上面的代码是我的讲师使用的确切代码,我也尝试运行他的代码,但是当打开另一个框架时它什么也没做。