使用Hibernate时出现java.lang.ArrayIndexOutOfBoundsException: 0

爱在一瞬间 2013-05-06 11:28:48
我在学习hibernate框架,但是经常会遇到这样一个问题。一开始我遇到,我修改一下配置文件也就好了,但是这次不知道是哪里的问题了所以贴出来让大家帮忙看一下。程序并不复杂,就是hibernate的对于域对象的继承关系的一种处理策略,一个子类一张表。望前辈指点一二。


package zhangdk.Model;
//父类
public class People {
private String ID;
private String name;

public String getID() {
return ID;
}
public void setID(String iD) {
ID = iD;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package zhangdk.Model;
//继承People
public class Teacher extends People {
private int salary;
private String title;


public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}


}
package zhangdk.Model;

//继承People
public class Student extends People{
private String dept;
private int age;


public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//主程序
package zhangdkTest;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import zhangdk.Model.Student;

public class OneTableOneOb {
private static SessionFactory sessionFactory;

static{
sessionFactory=new Configuration().configure().buildSessionFactory();
}

public static void main(String[] args) {
Session session=sessionFactory.openSession();
Transaction tx=null;

try {
tx=session.beginTransaction();

List list=session.createQuery("from Student")
.list();

for(Object o:list){
Student student=(Student)o;

System.out.println(student.getID()+"\t"+student.getName());
}

tx.commit();
} catch (Exception e) {
e.printStackTrace();
if(tx!=null){
tx.rollback();
}
}finally{
if(session!=null){
session.close();
}
}

}

}



<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="zhangdk.Model.Student" table="Student">
<id name="ID" type="java.lang.String" column="ID">
<generator class="uuid"></generator>
</id>

<property name="name" type="java.lang.String" column="name"/>
<property name="dept" type="java.lang.String" column="dept"/>
<property name="age" type="java.lang.Integer" column="age"/>

</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="zhangdk.Model.Teacher" table="Teacher">
<id name="ID" type="java.lang.String" column="ID">
<generator class="uuid"></generator>
</id>
<property name="name" type="java.lang.String" column="name"/>
<property name="salary" type="java.lang.Integer" column="salary"/>
<property name="title" type="java.lang.String" column="title"/>

</class>
</hibernate-mapping>

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.url">
jdbc:sqlserver://localhost:1433;databaseName=Hibernate
</property>
<property name="connection.username">sa</property>
<property name="connection.password">weixx1990</property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="myeclipse.connection.profile">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>

<property name="show_sql">true</property>

<property name="format_sql">true</property>
<mapping resource="Student.hbm.xml" />
<mapping resource="Teacher.hbm.xml" />
</session-factory>

</hibernate-configuration>



异常提示:
java.lang.ArrayIndexOutOfBoundsException: 0
at com.mchange.v2.codegen.bean.SimplePropertyBeanGenerator.main(SimplePropertyBeanGenerator.java:564)
...全文
474 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱在一瞬间 2013-05-09
  • 打赏
  • 举报
回复
我发现了,是开发环境的问题,今天又进去使用就没有问题了。

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧