java.lang.NumberFormatException : For input string: “Male” 异常

标签 java swing hibernate

我一直在尝试使用 Hibernate 在 Java Swing 应用程序中运行一个 SAVE 进程。但我每次都会收到以下异常。

java.lang.NumberFormatException: For input string: "Male"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at frames.user_info_1.saveUserDetails(user_info_1.java:258)
at frames.user_info_1.jButton1ActionPerformed(user_info_1.java:191)
at frames.user_info_1.access$100(user_info_1.java:17)
at frames.user_info_1$2.actionPerformed(user_info_1.java:147)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

这是我使用的代码(用户注册)。

public void saveUserDetails() {
    try {
        Transaction t = sess.beginTransaction();

        String fn = firstname.getText();
        String ln = lastname.getText();
        String nicno = nic.getText();
        String contact = contactno.getText();

        String gen = (String) jComboBox1.getSelectedItem();
        int gen1 = Integer.parseInt(gen);

        String un = username.getText();
        String pw = new String(password.getPassword());

        User u = new User();
        u.setFirstname(fn);
        u.setLastname(ln);
        u.setNic(nicno);
        u.setPhone(contact);

        Gender g = (Gender) sess.load(Gender.class, gen1);
        u.setGender(g);

        Login login = new Login();
        login.setUser(u);
        login.setUsername(un);
        login.setPassword(pw);

        String utype = "User";
        int utype1 = Integer.parseInt(utype);

        UserType utp = (UserType) sess.load(UserType.class, utype1);
        u.setUserType(utp);

        sess.save(u);
        sess.save(login);
        t.commit();

        System.out.println("User Successfully Saved!");
    } catch (NumberFormatException e) {
        System.out.println("Number Format Exception");
        e.printStackTrace();
    }

jComboBox1 用于选择用户的性别,它使用条件搜索加载性别表中的值。

我想问题出在 jComboBox 上。在这里的帮助将不胜感激。提前致谢。

最佳答案

如果您的问题是关于使用 Hibernate 持久化枚举,您可以使用 @Enumerated 注释在您的 pojo 中使用枚举对象,但将其持久化为序数

关于java.lang.NumberFormatException : For input string: “Male” 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19995446/

相关文章:

java - 压缩 Arraylist 或将 arraylist 与对象一起传递

java - JOptionPane 的属性更改值是多少以及何时更改?

java - 如何更改哪个组件正在监听事件

java - 如何使用 CriteriaQuery 查询使用 @Convert 注释持久化为字符串的集合?

java - 如何为JPA和Hibernate创建一个persistence.xml文件?

java - 将第 3 方代码与 Java 中的应用程序解耦

java - 单击按钮打开一个新的 JFrame

java - Hibernate、Postgres 和数组类型

java - Hibernate 忽略@Table 注解

java - tomcat中如何为每个虚拟主机设置TimeZone