Я делаю настольное приложение, используя javax swing, но получаю исключение при попытке войти в приложение.
Ошибка выглядит следующим образом:
Сообщение об исключении:
![exception message](https://i.stack.imgur.com/8xDJu.png)
Класс сущности User состоит из следующих атрибутов: ID (для которого установлено автоматическое увеличение), имя пользователя, пароль и RoleID (ключ foregin).
Код, управляющий выбором в базе данных, выглядит следующим образом:
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());
}
}
Я действительно не знаю, в чем проблема, код выше - это точный код, который использовался моим Инструктором, я тоже пытался запустить его код, но он ничего не делает, когда предполагается открыть другой кадр.