`
menjoy
  • 浏览: 421893 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

hibernate annotations

阅读更多
最近开始尝试hibernate annotations,终于成功的将手上一个小应用转为annotations

1、spring orm support
与原来使用LocalSessionFactoryBean相比,变动不大(AnnotationSessionFactoryBean本来就是从LocalSessionFactoryBean类继承过来的嘛)
<!----> 1    <bean
 2         id="sessionFactory"
 3         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
 4         parent="AbstractSessionFactory">
 5         <property name="annotatedClasses">
 6             <list>
 7                 <value>xxx.xxx.xxx.domain.Accountvalue>
 8             list>
 9         property>
10     bean>
11     <bean
12         id="AbstractSessionFactory"
13         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
14         abstract="true">
15         <property
16             name="dataSource"
17             ref="DataSource" />
18         <property name="hibernateProperties">
19             <props>
20                 <prop key="hibernate.dialect">${hibernate.dialect}prop>
21                 <prop key="hibernate.show_sql">${hibernate.show_sql}prop>
22                 <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}prop>
23                 <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}prop>
24                 <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}prop>
25             props>
26         property>
27         <property
28             name="lobHandler"
29             ref="DefaultLobHandler" />
30     bean>
2、id的配置
非常简单,在id的getter上面加个“@Id”就可以了。此时采用的id策略是javax.persistence.GenerationType.AUTO,也可以再加上“@GeneratedValue(generator =GenerationType.IDENTITY|GenerationType.SEQUENCE|GenerationType.TABLE)”换成其它策略。
我的应用采用的是hibernate的uuid策略,就不得不在这儿使用hibernate的扩展了
<!---->  @Id
  @Column(length 
= 32)
  @GeneratedValue(generator 
= "system-uuid")
  @GenericGenerator(name 
= "system-uuid", strategy = "uuid")

3、级联策略
在ejb3-persistence.jar中只定义了ALL、MERGE、PERSIST、REFRESH、REMOVE,比较恶心的就是,删除对象的时候,并不会级联删除关联对象,而是用update xx set parent_id=null where parent_id=?这类语句把关系干掉了事。不得已,在这儿用了hibernate的DELETE_ORPHAN。
<!---->  @OneToMany(targetEntity = Attachment.class)
  @Cascade(value 
= {org.hibernate.annotations.CascadeType.DELETE_ORPHAN,
      org.hibernate.annotations.CascadeType.ALL})
  @JoinColumn(name 
= "info_id")
4、CACHE
ejb3-persistence.jar里面没有找到cache的配置,继续请出hibernate来干活
<!---->import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

@Entity
@Table(name 
= "T_INFO")
@Cache(usage 
= CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
5、自定义字段类型
我的POJO中有一个private String content;的属性,按ejb3配成@Lob后,被处理成了text类型,text 64k的存储容量还是比较可怜了。
<!---->  @Lob
  @Column(columnDefinition 
= "LongText")

 

 

分享到:
评论

相关推荐

    Hibernate Annotations 中文文档

    Hibernate Annotations API 中文文档 前言 1. 创建一个注解项目 1.1. 系统需求 1.2. 系统配置 2. 实体Bean 2.1. 简介 2.2. 用EJB3注解进行映射 2.2.1. 声明实体bean 2.2.1.1. 定义表(Table) 2.2.1.2. 乐观...

    hibernate annotations3.4.0 GA.rar

    现在已经不用*.hbm.xml这种映射文件了,都是用Annotation(注解)方式来完成实体与表之间的映射关系,这样看起来比用xml文件来映射更具有可读性,自我感觉以后Hibernate Annotation的映射方式将代替hibernate 的*....

    hibernate-annotations-3.4.0.GA

    《Hibernate Annotations 3.4.0.GA:深入理解与应用》 Hibernate是Java领域中广泛应用的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。而Hibernate ...

    webwork hibernate annotations 三合一中文开发文档

    webwork2.1.7 中文开发文档 Hibernate Annotations参考文档-3.20中文开发文档 Hibernate_3.2.0_Reference_zh_CN中文开发文档

    HibernateAnnotations 中文版

    **Hibernate Annotations 中文版** Hibernate 是一款开源的Java框架,用于简化对象关系映射(ORM)的任务,使得Java开发者能够将数据库操作与业务逻辑更好地解耦。Hibernate Annotations 是 Hibernate 的一个重要...

    hibernate annotations 中文参考手册

    ### Hibernate Annotations 中文参考手册概览 #### 版本说明 根据提供的信息,这份文档的版本为3.2.0CR1。此版本标志着Hibernate框架中的一个特定阶段,特别是关于如何利用注解(Annotations)来简化Java对象与...

    hibernate annotations 3.4.0.GA API

    《Hibernate Annotations 3.4.0.GA API详解》 Hibernate是Java开发中广泛使用的对象关系映射(ORM)框架,它极大地简化了数据库操作,将数据库操作与业务逻辑解耦。Hibernate Annotations是Hibernate框架的一个重要...

    Hibernate Annotations Reference 中文参考手册HTML版

    **Hibernate Annotations 参考手册中文版** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它允许开发者使用面向对象的编程模型来处理数据库操作。Hibernate Annotations 是 Hibernate 的一个重要组成部分,...

    hibernate annotations 中文文档

    《Hibernate Annotations 中文文档》是针对Hibernate框架注解配置的详细指南,旨在帮助开发者更深入地理解和使用Hibernate的注解功能。Hibernate是一个流行的Java对象关系映射(ORM)框架,它允许开发人员将数据库...

    hibernate 和hibernate_annotations(中文API).pdf帮助文档

    在这个“hibernate 和hibernate_annotations(中文API)帮助文档”中,我们将深入探讨Hibernate的核心概念、特性以及如何使用Hibernate Annotations进行对象的持久化。 一、Hibernate核心概念 1. 实体(Entity):在...

    hibernate-annotations-3.4.0(参考文档,doc/../index.html)

    《Hibernate Annotations 3.4.0:持久化框架的注解增强详解》 Hibernate作为Java领域最著名的对象关系映射(ORM)框架之一,极大地简化了数据库操作。在3.4.0版本中,它引入了Annotations特性,使得Java开发者能够...

    Hibernate Annotations

    Hibernate Annotations 3.5.6-Final 全英文版

    Hibernate Annotations API(English)

    Hibernate Annotations API英文版,CHM格式

    hibernate-annotations

    《Hibernate Annotations 3.4.0.GA:深入解析企业级Java开发的持久化利器》 Hibernate,作为Java领域中最著名的对象关系映射(ORM)框架之一,极大地简化了数据库与Java应用程序之间的交互。其中,Hibernate ...

    Hibernate annotations大全

    《Hibernate Annotations 全解》 Hibernate 是一个广受欢迎的Java持久化框架,它极大地简化了数据库操作,使得开发者可以专注于业务逻辑而不是繁琐的SQL语句。在Hibernate 3.2及以后的版本中,引入了Annotations...

    hibernate-annotations.jar

    《Hibernate Annotations 框架详解》 在Java领域,Hibernate是一个广泛应用的对象关系映射(ORM)框架,它极大地简化了数据库操作。而`hibernate-annotations.jar`是Hibernate框架中的一个重要组件,主要负责处理...

    Hibernate Annotations参考文档-3.20MSNzhoujianguo_leo@hotmail.com

    Hibernate Annotations参考文档-3.20MSN---zhoujianguo_leo@hotmail.com

Global site tag (gtag.js) - Google Analytics