这是我第一次使用Hibernate,当我在一个循环中插入多行时,hibernate会为每一行插入以下内容

Hibernate: select nextval ('hibernate_sequence')

在它为循环中的所有数据执行此操作后,它开始插入数据

Hibernate: insert into user_data (age, location, sent_count, user_id, username, id) values (?, ?, ?, ?, ?, ?)

这是hibernate总是如何运作的?数据库是否无法处理序列?我觉得这真的会减慢插入行的过程.我正在使用PostgreSQL作为我的数据库.

这是我的相关代码

用户数据

@Entity

@Table(name = "user_data")

public class UserData

{

@Id @GeneratedValue

@Column(name = "id")

private int id;

@Column(name = "user_id")

private String userid;

@Column(name = "username")

private String username;

@Column(name = "age")

private int age;

@Column(name = "location")

private int location;

@Column(name = "sent_count")

private int sentCount;

public int getId()

{

return id;

}

public void setId(int id)

{

this.id = id;

}

public String getUserid()

{

return userid;

}

public void setUserid(String userid)

{

this.userid = userid;

}

public String getUsername()

{

return username;

}

public void setUsername(String username)

{

this.username = username;

}

public int getAge()

{

return age;

}

public void setAge(int age)

{

this.age = age;

}

public int getLocation()

{

return location;

}

public void setLocation(int location)

{

this.location = location;

}

public int getSentCount()

{

return sentCount;

}

public void setSentCount(int sentCount)

{

this.sentCount = sentCount;

}

}

我的Hibernate助手类

public class HibernateUtil

{

static SessionFactory sessionFactory;

static ServiceRegistry serviceRegistry;

static

{

try

{

Configuration configuration = new Configuration();

configuration.setProperty("hibernate.temp.use_jdbc_metadata_defaults", "false");

configuration.configure();

serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();

sessionFactory = configuration.buildSessionFactory(serviceRegistry);

}

catch (Throwable ex)

{

// Make sure you log the exception, as it might be swallowed

System.err.println("Initial SessionFactory creation failed." + ex);

closeSessionFactory();

throw new ExceptionInInitializerError(ex);

}

}

public static SessionFactory getSessionFactory()

{

return sessionFactory;

}

public static void closeSessionFactory()

{

sessionFactory.close();

}

}

以及插入行的相关部分

Session session = HibernateUtil.getSessionFactory().openSession();

session.beginTransaction();

for (String memberId : memberIds)

{

System.out.println(memberId);

UserData user = new UserData();

user.setUserid(memberId);

session.save(user);

}

session.getTransaction().commit();

session.close();

HibernateUtil.closeSessionFactory();

java nextval_java – 为使用hibernate插入的每一行选择nextval相关推荐

  1. Java基础学习之hibernate初体验

    Hibernate 简介 : 简介: Hibernate 是由 Gavin King 于 2001 年创建的开放源代码的对象关系框架.它强大且高效的构建具有关系对象持久性和查询服务的 Java 应用程 ...

  2. MiniDao (轻量级JAVA持久层,Hibernate完美助手)

    MiniDao (轻量级JAVA持久层,Hibernate完美助手) 当前最新版本: 1.6.4 (发布日期:20180604) MiniDao产生的初衷? 采用Hibernate的J2EE项目都有一 ...

  3. java hibernate oracle,Java笔记8:Hibernate连接Oracle

     1下载hibernate-3.6.0 Final.zip到任意目录,解压缩后得到hibernate目录 2下载slf4j-1.7.13.zip到任意目录,解压缩后得到slf4j-1.7.13 3 ...

  4. hibernate savealiasentity 保存后id为空_好程序员Java教程分享Java面试题之Hibernate

    好程序员Java教程分享Java面试题之Hibernate 1.简书一下Hibernated的开发流程 第一步:加载Hibernate的配置文件,读取配置文件的参数, 第二步:创建SessionFac ...

  5. hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决

    因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好. hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就不 ...

  6. JAVA面试中问及Hibernate与 Mybatis的对比

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  7. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  8. 轻量级Java持久化框架,Hibernate完美助手,Minidao 1.6.2版本发布

    Minidao 1.6.2 版本发布,轻量级Java持久化框架(Hibernate完美助手) Minidao产生初衷? 采用Hibernate的J2EE项目都有一个痛病,针对复杂业务SQL,hiber ...

  9. hibernate4整合spring3.1出现java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider

    hibernate4整合spring3.1的过程中,发现了Java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider异常,查了 ...

最新文章

  1. 不间断电源ups标准_什么是ups不间断电源,ups电源的重要性。
  2. 图像语义分割:U-Net网络和PSP网络
  3. TensorFlow学习笔记(二十一) tensorflow机器学习模型
  4. java赋值运算符_11.Java赋值运算符
  5. 血淋淋的教训—将Vue项目打包成app的跨域问题
  6. Mysql替换字段中的内容
  7. 精通开关电源设计第三版pdf_看漫画,学电源(一)丨线性电源与开关电源的构造...
  8. http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
  9. activeMQ 问题
  10. 用POP动画编写带富文本的自定义动画效果
  11. 怎样做小游戏挖金子(VC,源码4)
  12. jquery漂浮广告代码
  13. JNI/NDK入门指南之正确姿势了解JNI和NDK
  14. 大数据年代,我们的思想已被算法剥夺
  15. python并行编程 - 进程篇
  16. 多数据中心架构,异地多活架构
  17. Python机器学习笔记之pandas绘图
  18. Keychain 浅析
  19. 546计算机综合什么意思,装系统出现546怎么设置
  20. LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3)

热门文章

  1. 成都飞客文化传播有限公司
  2. 社区团购融资突破262亿,揭秘社区团购平台激烈拼杀生态(上)
  3. 使用ffmpeg连接音视频
  4. 使用VNC软件与花生壳进行内网穿透实现在嵌入式平台中进行广域网下的远程控制
  5. 【无标题】朴实无华内存函数
  6. Vulkan【6】创建一个交换链
  7. Linux和Win常用分卷压缩和合并压缩方法(主要Linux)
  8. 大型WEB网站架构深入分析
  9. ubuntu变成只读文件系统怎么办?不要慌,简单解决
  10. Oculus VR设计指南