昨天在做一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也不行。
分享到:
相关推荐
3. 分页:在处理大量数据时,分页是必不可少的。Spring Data JPA提供了`Pageable`接口,用于表示分页请求。我们可以创建一个`PageRequest`对象,包含页码和每页大小,然后将它作为查询方法的参数。例如,`findAll...
在当今的软件开发中,Java持久化API(JPA)和Hibernate框架是企业级应用的重要组成部分,它们为开发者提供了方便的数据访问和对象关系映射(ORM)功能。然而,随着项目规模的扩大,手动管理实体类和相关代码变得繁琐...
在构建基于SpringBoot的应用时,数据访问层通常采用Java Persistence API (JPA) 和Spring Data JPA,它们提供了便捷的方式来操作数据库。然而,手动编写controller、service、entity和repository层的代码会消耗大量...
JPA,全称为Java Persistence API,是Java平台上的ORM(对象关系映射)规范,它允许开发人员使用面向对象的编程方式来操作数据库。JPA通过提供一套API和元数据,将数据库操作与业务逻辑解耦,极大地提高了开发效率。...
JPA是Java平台上的一个ORM(对象关系映射)规范,它允许我们在Java应用中使用面向对象的方式来操作数据库。JPA通过提供一套标准的API,简化了数据库访问的复杂性。它支持CRUD操作,实体管理,事务控制等,使得开发者...
Hibernate是一款开源的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程方式来操作数据库,极大地简化了Java数据库编程。这篇文档是Hibernate的中文API,为学习和使用Hibernate提供了一个直观且易于理解的...
Hibernate3.2是一款广泛应用于Java开发中的开源对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者能够用面向对象的方式处理数据。这个jar包是Hibernate3.2版本的核心组件,包含了所有必要的类库,使得...
3. **缓存机制**:内置了第一级缓存(Session)和第二级缓存(可选),提高了数据访问性能。 4. **移植性**:由于Hibernate是对JDBC的抽象,更换数据库时只需更改配置,无需修改大量代码。 总之,“hibernate-jar...
1. **ORM概念**:ORM(Object-Relational Mapping)是将关系数据库的数据映射到对象模型的一种技术,通过ORM框架,开发者可以避免编写大量的SQL语句,提高开发效率。 2. **Hibernate优势**:Hibernate提供了缓存...
总结来说,Hibernate Tools是Java开发者使用Hibernate框架时的得力助手,它通过自动化代码生成和配置管理,极大地提升了开发效率,降低了出错的可能性。对于那些难以找到的反向生成工具,Hibernate Tools无疑是一个...
4. 分页查询:使用Hibernate的Paging功能,避免一次性加载大量数据导致内存溢出。 5. 性能优化:合理设置批处理大小,避免过多的小事务,减少N+1查询问题。 通过MyHibernate项目,开发者不仅可以掌握Hibernate的...
通过提供一套API和元数据,Hibernate可以自动管理对象的持久化过程,消除了大量手动编写的SQL代码,降低了开发难度和出错概率。 二、Hibernate 3.1 特性 1. 支持JPA(Java Persistence API):Hibernate 3.1开始...
这样,开发者只需要关注业务逻辑,而无需过多地关注底层的数据访问层细节。 Middlegen的使用方法相对简单,首先,你需要配置数据库连接信息,如URL、用户名、密码等。接着,指定要生成映射文件的数据库表,...
5. Spring Data JPA或Spring Data JDBC:Spring Boot的扩展,用于简化数据访问,包括自动化的CRUD Repository接口实现。 在项目中,可能有一个配置类用于设置数据库连接信息,例如使用Spring Boot的`application....
同时,需要在项目中创建实体类,用注解描述其与数据库表的对应关系,并编写DAO层(数据访问对象)或Repository接口来通过Hibernate操作数据库。 总的来说,这个"Hibernate mysql jar包"集合了使用Hibernate连接...
7. **DAO(Data Access Object)设计模式**:在 Spring+Hibernate 应用中,通常会创建 DAO 类,它们是业务层和数据访问层的接口,负责调用 Hibernate 的 Session 方法进行数据操作。 8. **Spring 的 AOP**:AOP ...
《Hibernate参考指南》是Java开发领域中不可或缺的一份资源,它深入浅出地介绍了Hibernate这一强大的对象关系映射(ORM)框架。Hibernate作为Java应用程序与数据库之间的重要桥梁,极大地简化了数据访问层的开发工作...
10. **Spring Data JPA**或**MyBatis**:如果项目中使用了ORM(对象关系映射)技术,Spring Data JPA和MyBatis都是不错的选择。它们可以简化数据库操作,将Java对象与数据库表进行映射,避免直接编写SQL。 综上所述...