参考文章
[url]
http://biancheng.dnbcw.info/java/71552.html[/url]
@SuppressWarnings("unchecked")
public DeviceInfo getDIByImei(String imei){
ArrayList<DeviceInfo> list = (ArrayList<DeviceInfo>)
s.createQuery("from DeviceInfo where imei = '"+imei+"'").list();
DeviceInfo result = null;
if (list.size()>0) {
result = list.get(0);
}
return result;
}
public void saveOrUpdate(DeviceInfo di){
DeviceInfo getDi = getDIByImei(di.getImei());
if(getDi==null){
DaoFactory.getDiDao().save(di);
}
}
分享到:
相关推荐
例如,@Column(nullable = false)会确保数据库字段不允许为NULL,否则保存时会抛出异常。 在实际应用中,Hibernate还提供了一些高级映射机制,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多...
Hibernate默认使用的是可重复读,避免了脏读和不可重复读的问题,但可能会出现幻读。根据具体应用场景,开发者可以调整隔离级别。 **4. 乐观锁和悲观锁** - **乐观锁**:假设并发冲突较少,只在更新时检查版本号等...
此外,为了优化性能,可以配置Hibernate的缓存策略,比如设置查询缓存以避免重复执行相同的HQL,或设置实体级别的缓存以减少数据库的访问。同时,日志系统(如Log4j和SLF4J)的配置也非常重要,它们可以帮助开发者...
Hibernate 本身不实现事务逻辑,而是依赖于底层的数据源(JDBC 或 JTA)来实现事务管理。这意味着,当你使用 Hibernate 进行数据操作时,所涉及的事务要么基于 JDBC 的事务管理,要么基于 JTA (Java Transaction API)...
使用Hibernate,开发者可以将对象持久化到关系型数据库,而不需要直接与JDBC打交道,从而提高了开发效率和维护性。 2. 对象关系映射(ORM): 对象关系映射是一种技术,用于在关系型数据库和对象之间创建自动化映射...
Set是最常见的集合映射类型,它不允许重复元素,与数据库中的唯一约束相对应。 2. **元素类型**:集合中的每个元素都是一个实体对象,它们通常通过@ManyToOne或@OneToOne关联映射到单独的数据库表。 3. **关联映射...
6. **二级缓存**:Hibernate 3.2.5支持二级缓存,它可以提高性能,因为频繁访问的数据会被缓存起来,避免重复的数据库查询。 7. **事务管理**:Hibernate提供了事务管理机制,可以方便地集成到各种应用服务器或独立...
Hibernate消除了面向对象编程与关系数据库之间的一些不匹配,通过元数据将Java对象与数据库表进行映射。 2. **关系模型与面向对象**:关系模型基于实体(Entity)和联系(Relationship),而面向对象编程则涉及封装...
通过使用Hibernate,开发者可以将对象与关系数据库之间的映射关系声明在XML配置文件或注解中,从而实现数据的透明访问。 **一、Hibernate基本概念** 1. **对象关系映射(ORM)**: Hibernate是ORM的一种实现,它将...
当执行数据保存或更新操作时,Hibernate会自动检查这些规则,确保输入数据的合法性,避免了因非法数据引发的错误。 使用Hibernate Validator可以显著提高代码质量,减少因数据验证不严导致的问题。开发者只需在持久...
它保存的对象对整个应用都是可用的,不局限于当前用户或会话。当数据从数据库中加载时,Hibernate会尝试将这些对象放入二级缓存,后续的相同查询就可以直接从缓存中获取结果,避免了额外的数据库查询。这有助于提高...
1. **缓存机制**: Hibernate3引入了第一级缓存Session级别的缓存和第二级缓存SessionFactory级别的缓存,提高了数据访问性能。 2. **事务管理**: Hibernate 支持JTA(Java Transaction API)和JDBC事务,可以方便地...
这个核心jar包包含了实现Hibernate功能所需的所有基本类和接口,是开发基于Hibernate的应用程序不可或缺的部分。 首先,我们需要了解Hibernate的基本概念。ORM是一种技术,它允许我们在面向对象的编程环境中直接...
BaseDAO是一种通用的设计模式,它封装了Hibernate框架的基本操作,使得业务逻辑层可以更加专注于业务处理,而不需要关心底层的数据访问细节。本压缩包提供的"baseDAO"文件,包含了一个详细注释的BaseDAO实现,旨在...
- **作用**:减少对数据库的重复访问,提高数据访问速度。 ##### 2. 第二级缓存(SessionFactory缓存) - **定义**:第二级缓存是由`SessionFactory`维护的缓存区域,它的作用域更大,通常是进程级别的缓存,也...
在大多数情况下,修改对象的状态只需在程序中直接操作,然后通过Hibernate保存更改。 Hibernate的API学习曲线平缓,它无缝融入程序流程,使得数据库操作更加自然。此外,Hibernate的数据库无关性也是一个显著优点,...
在Hibernate的帮助下,开发者可以避免大量重复的JDBC代码,提高开发效率和代码的可维护性。 二、Hibernate 3.6.8 版本特性 1. 改进的性能:3.6.8版本优化了查询执行速度,降低了内存占用,提升了整体性能。 2. 强大...
在Java代码中,你可以将bag映射为ArrayList或者LinkedList,尽管它们在内存中的实现不同,但Hibernate并不关心这个细节,它只负责保存和检索对象。 在描述中提到的“博文链接:...
而SERIALIZABLE是最高的隔离级别,它可以防止幻读和不可重复读,但可能导致更高的锁竞争,降低系统性能。 在实际应用中,开发者需要根据业务需求和性能考虑选择合适的隔离级别,并结合Flush策略来保证数据的准确性...