如题我执行修改ID 为44或是55的时候就修改不成功!但是我修改为12的时候就没问题,难道hibernate输入的ID参数还会被限制吗? 每次使用44 55的时候都是提示空制指针异常
create table system.pmuser
(
 id number(3) primary key,
 name varchar2(10),
 age number(3),
 sex char(3)
)
select * from system.teacherselect * from system.pmuserdrop table system.teachersinsert into system.PMUser(id, name, age, sex) values (12, '22', 22, '男');
insert into system.PMUser(id, name, age, sex) values (13, '33', 33, '女');
insert into system.PMUser(id, name, age, sex) values (44, '11', 11, '女');
insert into system.PMUser(id, name, age, sex) values (55, '11', 11, '男');
package com.bjsxt.hibernate.model;import javax.persistence.GeneratedValue;
import javax.persistence.Id;public class PMUser { private int id;
private String name;
private int age;
private char sex;


@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}

}import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;import com.bjsxt.hibernate.model.PMUser;
import com.bjsxt.hibernate.model.Teacher;
import com.bjsxt.hibernate.model.TeacherPK;public class PMUserTest {

private static Configuration cfg = new Configuration();

//此处可以修改configuration找的hibernate.hbm.xml文件的名字 cfg.configure("hibernate.xml").buildSessionFactory();
private static SessionFactory sf = cfg.configure().buildSessionFactory();
public static void update1(int id, String name){ Session session = sf.getCurrentSession();
session.beginTransaction();
PMUser user = (PMUser)session.get(PMUser.class, id);
session.getTransaction().commit();

user.setName(name);
System.out.println("name=" + user);
Session session2 = sf.getCurrentSession();
session2.beginTransaction();
session2.update(user);//这里如何获取传进来的name值?
session2.getTransaction().commit();
}

public static void main(String[] args) throws Exception{
//addPMUser(11, "hello", 11, '男');
// addTeacher(10, "hello", 10, '男');
// deletePMUser("22");
// loadPMUser(12);
// get(12);
update1(44, "laozi");
// update1(13, "wo"); }

}

解决方案 »

  1.   

    <?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"><hibernate-configuration>    <session-factory><!--         
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost/hibernate</property>
            <property name="connection.username">root</property>
            <property name="connection.password">bjsxt</property>
            <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
           -->
            <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="connection.url">jdbc:oracle:thin:@localhost:1521:oracle</property>
            <property name="connection.username">system</property>
            <property name="connection.password">admin</property>
           <property name="dialect">org.hibernate.dialect.Oracle9iDialect</property>
                   <!-- JDBC connection pool (use the built-in) -->
            <property name="connection.pool_size">1</property>                <!-- Enable Hibernate's automatic session context management -->
            <property name="current_session_context_class">thread</property>        <!-- Disable the second-level cache  -->
            <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>        <!-- Echo all executed SQL to stdout -->
            <property name="show_sql">true</property>
            <property name="format_sql">true</property>        <!-- Drop and re-create the database schema on startup -->
            <property name="hbm2ddl.auto">update</property>
            
          <mapping resource="com/Inbo/model/UserM.hbm.xml"/>
         
        </session-factory></hibernate-configuration>
      

  2.   

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.Inbo.model"> <!--  -->
    <class name="UserM">

    <id name="username"></id>
    <property name="password"></property>
    <property name="sex"></property>
    <property name="salary"></property>
    <property name="birthday"></property>
    <property name="telephone"></property>
    <property name="did"></property>
    </class>

    </hibernate-mapping>