如何修复java Hibernate应用程序中的java.lang.ArrayIndexOutOfBoundsException

如何修复java Hibernate应用程序中的java.lang.ArrayIndexOutOfBoundsException,java,hibernate,Java,Hibernate,这是我的代码,我不知道我在哪里出错,但当我运行这个应用程序时,出现异常,我正在创建Hibernate示例应用程序 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常:0 位于com.candidjava.AddStudent.main(AddStudent.java:15) 出现此异常我不知道如何修复请帮助…问题之一可能是您需要在以下情况下使用&& package com.candidjava; import java.sql.*; im

这是我的代码,我不知道我在哪里出错,但当我运行这个应用程序时,出现异常,我正在创建Hibernate示例应用程序

线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常:0 位于com.candidjava.AddStudent.main(AddStudent.java:15)
出现此异常我不知道如何修复请帮助…

问题之一可能是您需要在以下情况下使用&&

package com.candidjava;

import java.sql.*;
import java.io.*;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

public class AddStudent {
    private static SessionFactory sessionFactory1;

    public static void main(String args[]) throws Exception {
        if (args[0] != null || args[1] != null || args[2] != null) {// begin if
                                                                    // A
            String name = args[0];
            String name1 = args[0];
            String degree = args[1];
            String phone = args[2];
            System.out.println("Name: " + name);
            System.out.println("Degree: " + degree);
            System.out.println("Phone: " + phone);

            if ((name.equals("") || degree.equals("") || phone.equals(""))) {
                System.out.println("All informations are Required");
            } else {

                try {// begin try

                    sessionFactory1 = new Configuration().configure(
                            "com\\xml\\student1.cfg.xml").buildSessionFactory();
                } catch (Exception e) {
                    System.out.println("mathan");
                    System.out.println(e.getMessage());
                    System.err
                            .println("Initial SessionFactory creation failed."
                                    + e);

                }

                Session s1 = sessionFactory1.openSession();
                Transaction tx1 = s1.beginTransaction();
                Student1 stu1 = new Student1();
                stu1.setName(name1);
                s1.save(stu1);
                tx1.commit();
                System.out.println("Added to mysql Database");
                if (s1 != null)
                    s1.close();
            }
        }
    }
}
将其更改为:

    if (args[0] != null || args[1] != null || args[2] != null) {// begin if
此外,以下检查也存在相同的逻辑问题:

    if (args[0] != null && args[1] != null && args[2] != null) {
应该是:

        if ((name.equals("") || degree.equals("") || phone.equals(""))) {

问题之一可能是您需要在以下情况下使用&&

package com.candidjava;

import java.sql.*;
import java.io.*;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

public class AddStudent {
    private static SessionFactory sessionFactory1;

    public static void main(String args[]) throws Exception {
        if (args[0] != null || args[1] != null || args[2] != null) {// begin if
                                                                    // A
            String name = args[0];
            String name1 = args[0];
            String degree = args[1];
            String phone = args[2];
            System.out.println("Name: " + name);
            System.out.println("Degree: " + degree);
            System.out.println("Phone: " + phone);

            if ((name.equals("") || degree.equals("") || phone.equals(""))) {
                System.out.println("All informations are Required");
            } else {

                try {// begin try

                    sessionFactory1 = new Configuration().configure(
                            "com\\xml\\student1.cfg.xml").buildSessionFactory();
                } catch (Exception e) {
                    System.out.println("mathan");
                    System.out.println(e.getMessage());
                    System.err
                            .println("Initial SessionFactory creation failed."
                                    + e);

                }

                Session s1 = sessionFactory1.openSession();
                Transaction tx1 = s1.beginTransaction();
                Student1 stu1 = new Student1();
                stu1.setName(name1);
                s1.save(stu1);
                tx1.commit();
                System.out.println("Added to mysql Database");
                if (s1 != null)
                    s1.close();
            }
        }
    }
}
将其更改为:

    if (args[0] != null || args[1] != null || args[2] != null) {// begin if
此外,以下检查也存在相同的逻辑问题:

    if (args[0] != null && args[1] != null && args[2] != null) {
应该是:

        if ((name.equals("") || degree.equals("") || phone.equals(""))) {

我猜你没有传递所有的参数,使你的条件符合逻辑,而不是或

        if ((name.equals("") && degree.equals("") && phone.equals(""))) {
而且,您在配置
configure

 if (args[0] != null && args[1] != null && args[2] != null) { 
我相信上面的文件是
Student
pojo的映射xml文件

不是hibernate
配置文件

在处理hibernate时,从
hibernate.cfg.xml
文件而不是从args读取
属性


我猜您没有传递所有参数,使您的条件具有逻辑性和非或

        if ((name.equals("") && degree.equals("") && phone.equals(""))) {
而且,您在配置
configure

 if (args[0] != null && args[1] != null && args[2] != null) { 
我相信上面的文件是
Student
pojo的映射xml文件

不是hibernate
配置文件

在处理hibernate时,从
hibernate.cfg.xml
文件而不是从args读取
属性


您可以轻松地立即进行验证

student1.cfg.xml
导入java.sql.*

导入java.io.*

导入org.hibernate.SessionFactory

导入org.hibernate.Transaction

导入org.hibernate.hibernateeexception

导入org.hibernate.Session

导入org.hibernate.cfg.Configuration

公立班学生{

package com.candidjava;

您可以轻松地立即进行验证

student1.cfg.xml
导入java.sql.*

导入java.io.*

导入org.hibernate.SessionFactory

导入org.hibernate.Transaction

导入org.hibernate.hibernateeexception

导入org.hibernate.Session

导入org.hibernate.cfg.Configuration

公立班学生{

package com.candidjava;

本教程已在candidjava网站上重写,请尝试此新示例

本教程已在candidjava网站上重写,请尝试此新示例

请在回答中包含内容请在回答中包含内容