无法执行JDBC批量更新如何解决此问题

时间:2013-08-27 18:56:37

标签: hibernate batch-file

我正在Hibernate中进行基本操作。我有一个带注释的实体类,并且有一个主类来自运行应用程序的位置。但它显示无法执行JDBC批量更新。这是我的代码..

实体类

import javax.persistence.Entity;
import javax.persistence.Id;




@Entity

public class UserDetails {
@Id
private int userId;
private String userName;

public int getUserId() {
    return userId;
}
public void setUserId(int userId) {
    this.userId = userId;
}
public String getUserName() {
    return userName;
}
public void setUserName(String userName) {
    this.userName = userName;
}
}

这是hibernate.cfg

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

<hibernate-configuration>

<session-factory>

<!-- Database Connection setting -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property    name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.pool_size">2</property>
<property name="hibernate.current_session_context_class">thread</property>
<property  name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>

<property name="hbm2ddl">Create</property>
<mapping class="org.jeet.dto.UserDetails"/>
</session-factory>


</hibernate-configuration>

这是主要的课程

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.jeet.dto.UserDetails;

public class HibernateTest {

/**
 * @param args
 */
public static void main(String[] args) {
    UserDetails user = new UserDetails();
    user.setUserId(1);
    user.setUserName("First user");

    SessionFactory sessionFactory = new Configuration().configure()
            .buildSessionFactory();
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    session.save(user);
    session.getTransaction().commit();
}

}

1 个答案:

答案 0 :(得分:1)

您可以发布错误消息吗?代码正在运行..只有部分编辑

  <property name="hibernate.hbm2ddl.auto">update</property>

而不是

  <property name="hbm2ddl">Create</property>

在hibernate.cfg.xml中。发布错误消息(如果有)