数据库用的是oracle
报错:Exception in thread "main" java.lang.NullPointerException这一般是oracle部分建表的问题还是hibernate部分配置出问题

解决方案 »

  1.   

    package student;import java.io.Serializable;public class Studentpk implements Serializable {
    private String name;
    private String psw;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getPsw() {
    return psw;
    }
    public void setPsw(String psw) {
    this.psw = psw;
    }
    }
    <hr />
    package student;public class Student {
    private Studentpk stupk;
    private Integer age;
    private Integer photo;

    public Studentpk getStupk() {
    return stupk;
    }
    public void setStupk(Studentpk stupk) {
    this.stupk = stupk;

    public Integer getAge() {
    return age;
    }
    public void setAge(Integer age) {
    this.age = age;
    }
    public Integer getPhoto() {
    return photo;
    }
    public void setPhoto(Integer photo) {
    this.photo = photo;
    }
    }
    <hr />
    <?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">
    <hibernate-mapping>
    <class name="student.Student" table="teststudent">
    <composite-id name="stupk" class="student.Studentpk">
    <key-property name="name" type="java.lang.String" column="name"></key-property>
    <key-property name="psw" type="java.lang.String" column="psw"></key-property>
    </composite-id>
    <property name="age" type="java.lang.Integer" column="age"></property>
    <property name="photo" type="java.lang.Integer" column="photo"></property>
    </class>
    </hibernate-mapping>
    <hr />
    package test;import org.hibernate.Session;
    import student.Student;
    import student.Studentpk;
    import util.HibernateSessionFactory;public class Test {
    public static void main(String[] args) {
    Session session=HibernateSessionFactory.getSession();
    Studentpk stupk=new Studentpk();
    Student stu=(Student)session.get(Student.class, stupk);
    System.out.println(stu.getAge());
     
    HibernateSessionFactory.closeSession();
    }
    }
    <hr />
    create table teststudent(
      2   name varchar(50) primary key,
      3   psw varchar(20),
      4   age integer,
      5   photo integer);insert into teststudent values('arisu','abc',7,123);就这样了,不知道错在那里
      

  2.   

    Studentpk stupk=new Studentpk();stupk对象没有初始化,所以查不到东西!得到的stu是NULL,所以System.out.println(stu.getAge())里面getAge报空指针
      

  3.   

    public class Test {
    public static void main(String[] args) {
    Session session=HibernateSessionFactory.getSession();
    Studentpk stupk=new Studentpk();
    Student stu=(Student)session.get(Student.class, stupk);
    System.out.println(stu.getAge());
     
    HibernateSessionFactory.closeSession();
    }
    }
    有初始,表里也有数据