`
joknm
  • 浏览: 62836 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

大量数据访问时,用JPA 对象映射关系会出错?

    博客分类:
  • JAVA
阅读更多
昨天在做一JPA调试时出了些莫名其妙的错。
public class User
{
    @OneToMany
    @JoinColumn
    private List<Black> blackList = new ArrayList(); 
}


public class Black
{
    @Column
    private String name;
}

调试过程,添加black对象,通过user对象获取black对象,检测black是否与要添加的black对象相同,如果相同不添加,如果不相同则添加,在调试过程中以每秒20条的速度操作,出现的问题有:
2009-12-30 08:41:38 OALL8 处于不一致状态java.sql.SQLException: 违反协议
2009-12-30 08:41:38 Could not synchronize database state with session

网上说驱动问题,但是我从官网下载ojbc14也不行。

后来取消映射关系,问题解决了!

JPA WHERE IN 的用例:
@Override
	public void delete(long userId, String[] phoneList)
	{
		List list = new ArrayList();
		for (String phone : phoneList)
		{
			list.add(phone);
		}
		String hql = "Delete From Black where userid=? and phone In (:collection)";
		Query q = em.createQuery(hql);
		q.setParameter(1, userId);
		q.setParameter("collection", list);
		q.executeUpdate();
	}


(:collection) 用问号会出问题,而且它对象的值必须要为:collection 对象。

网上说驱动问题,但是我从官网下载ojbc14也不行。
分享到:
评论

相关推荐

    Spring Data JPA入门项目02

    3. 分页:在处理大量数据时,分页是必不可少的。Spring Data JPA提供了`Pageable`接口,用于表示分页请求。我们可以创建一个`PageRequest`对象,包含页码和每页大小,然后将它作为查询方法的参数。例如,`findAll...

    HibernateSynchronizer3扩展JPA

    在当今的软件开发中,Java持久化API(JPA)和Hibernate框架是企业级应用的重要组成部分,它们为开发者提供了方便的数据访问和对象关系映射(ORM)功能。然而,随着项目规模的扩大,手动管理实体类和相关代码变得繁琐...

    JAVA(SpringBoot) JPA 代码生成工具

    在构建基于SpringBoot的应用时,数据访问层通常采用Java Persistence API (JPA) 和Spring Data JPA,它们提供了便捷的方式来操作数据库。然而,手动编写controller、service、entity和repository层的代码会消耗大量...

    基于spring boot + JPA的进销存管理系统源码.zip

    JPA,全称为Java Persistence API,是Java平台上的ORM(对象关系映射)规范,它允许开发人员使用面向对象的编程方式来操作数据库。JPA通过提供一套API和元数据,将数据库操作与业务逻辑解耦,极大地提高了开发效率。...

    基于springboot+jpa+Erupt框架开发的综合签到打卡系统,支持人脸识别.zip

    JPA是Java平台上的一个ORM(对象关系映射)规范,它允许我们在Java应用中使用面向对象的方式来操作数据库。JPA通过提供一套标准的API,简化了数据库访问的复杂性。它支持CRUD操作,实体管理,事务控制等,使得开发者...

    Hibernate 中文API 入门和开发的好帮手

    Hibernate是一款开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程方式来操作数据库,极大地简化了Java数据库编程。这篇文档是Hibernate的中文API,为学习和使用Hibernate提供了一个直观且易于理解的...

    Hibernate3.2jar包

    Hibernate3.2是一款广泛应用于Java开发中的开源对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者能够用面向对象的方式处理数据。这个jar包是Hibernate3.2版本的核心组件,包含了所有必要的类库,使得...

    hibernate-jar包

    3. **缓存机制**:内置了第一级缓存(Session)和第二级缓存(可选),提高了数据访问性能。 4. **移植性**:由于Hibernate是对JDBC的抽象,更换数据库时只需更改配置,无需修改大量代码。 总之,“hibernate-jar...

    涂鸦hibernate精彩讲解

    1. **ORM概念**:ORM(Object-Relational Mapping)是将关系数据库的数据映射到对象模型的一种技术,通过ORM框架,开发者可以避免编写大量的SQL语句,提高开发效率。 2. **Hibernate优势**:Hibernate提供了缓存...

    Hibernate Tools

    总结来说,Hibernate Tools是Java开发者使用Hibernate框架时的得力助手,它通过自动化代码生成和配置管理,极大地提升了开发效率,降低了出错的可能性。对于那些难以找到的反向生成工具,Hibernate Tools无疑是一个...

    MyHibernate

    4. 分页查询:使用Hibernate的Paging功能,避免一次性加载大量数据导致内存溢出。 5. 性能优化:合理设置批处理大小,避免过多的小事务,减少N+1查询问题。 通过MyHibernate项目,开发者不仅可以掌握Hibernate的...

    hibernate 3.1 开发包 下载

    通过提供一套API和元数据,Hibernate可以自动管理对象的持久化过程,消除了大量手动编写的SQL代码,降低了开发难度和出错概率。 二、Hibernate 3.1 特性 1. 支持JPA(Java Persistence API):Hibernate 3.1开始...

    middlegen工具

    这样,开发者只需要关注业务逻辑,而无需过多地关注底层的数据访问层细节。 Middlegen的使用方法相对简单,首先,你需要配置数据库连接信息,如URL、用户名、密码等。接着,指定要生成映射文件的数据库表,...

    Java直接通过连接数据库生成对应的Resful格式的API

    5. Spring Data JPA或Spring Data JDBC:Spring Boot的扩展,用于简化数据访问,包括自动化的CRUD Repository接口实现。 在项目中,可能有一个配置类用于设置数据库连接信息,例如使用Spring Boot的`application....

    Hibernate mysql jar包

    同时,需要在项目中创建实体类,用注解描述其与数据库表的对应关系,并编写DAO层(数据访问对象)或Repository接口来通过Hibernate操作数据库。 总的来说,这个"Hibernate mysql jar包"集合了使用Hibernate连接...

    Spring+Hibernate

    7. **DAO(Data Access Object)设计模式**:在 Spring+Hibernate 应用中,通常会创建 DAO 类,它们是业务层和数据访问层的接口,负责调用 Hibernate 的 Session 方法进行数据操作。 8. **Spring 的 AOP**:AOP ...

    hibernate 参考指南

    《Hibernate参考指南》是Java开发领域中不可或缺的一份资源,它深入浅出地介绍了Hibernate这一强大的对象关系映射(ORM)框架。Hibernate作为Java应用程序与数据库之间的重要桥梁,极大地简化了数据访问层的开发工作...

    Spring实现增删改查

    10. **Spring Data JPA**或**MyBatis**:如果项目中使用了ORM(对象关系映射)技术,Spring Data JPA和MyBatis都是不错的选择。它们可以简化数据库操作,将Java对象与数据库表进行映射,避免直接编写SQL。 综上所述...

Global site tag (gtag.js) - Google Analytics