`

Hibernate学习(附录)

阅读更多
#hibernate类型对应
Java数据类型Hibernate数据类型标准SQL数据类型
byte、Java.lang.ByteByte[]IMAGE
byte、java.lang.Bytebyte TINYINT
short、java.lang.ShortshortSMALLINT
int、java.lang.IntegerintegerINGEGER
long、java.lang.LonglongBIGINT
float、java.lang.FloatfloatFLOAT
double、java.lang.DoubledoubleDOUBLE
double、java.lang.DoubledoubleMoney
java.math.BigDecimalbig_decimalNUMERIC
char、java.lang.Character characterCHAR(1)
boolean、java.lang.BooleanbooleanBIT
java.lang.String stringVARCHAR
boolean、java.lang.Booleanyes_noCHAR(1)('Y'或'N')
boolean、java.lang.Booleantrue_falseCHAR(1)('Y'或'N')
java.util.Date、java.sql.DatedateDATE
java.util.Date、java.sql.TimetimeTIME
java.util.Date、java.sql.Timestamp timestampTIMESTAMP
java.util.CalendarcalendarTIMESTAMP
java.util.Calendarcalendar_dateDATE
byte[]binaryVARBINARY、BLOB
java.lang.String textCLOB
java.io.SerializableserializableVARBINARY、BLOB
java.sql.ClobclobCLOB
java.sql.BlobblobBLOB
java.lang.Class classVARCHAR
java.util.LocalelocaleVARCHAR
java.util.TimeZonetimezoneVARCHAR
java.util.CurrencycurrencyVARCHAR


#Hibernate SQL方言 (hibernate.dialect)
RDBMS 方言
DB2            org.hibernate.dialect.DB2Dialect
DB2 AS/400   org.hibernate.dialect.DB2400Dialect
DB2 OS390    org.hibernate.dialect.DB2390Dialect
PostgreSQL     org.hibernate.dialect.PostgreSQLDialect
MySQL             org.hibernate.dialect.MySQLDialect
MySQL with InnoDBorg.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAMorg.hibernate.dialect.MySQLMyISAMDialect
Oracle           org.hibernate.dialect.OracleDialect
Oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
Sybase           org.hibernate.dialect.SybaseDialect
Sybase Anywhere   org.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
SAP DB     org.hibernate.dialect.SAPDBDialect
Informixorg.hibernate.dialect.InformixDialect
HypersonicSQLorg.hibernate.dialect.HSQLDialect
Ingres       org.hibernate.dialect.IngresDialect
Progress org.hibernate.dialect.ProgressDialect
Mckoi SQL org.hibernate.dialect.MckoiDialect
Interbase org.hibernate.dialect.InterbaseDialect
Pointbase org.hibernate.dialect.PointbaseDialect
FrontBase org.hibernate.dialect.FrontbaseDialect
Firebird org.hibernate.dialect.FirebirdDialect



#Hibernate主键
<id name="id" type="int" column="ID">
   <generator class="increment"/>
</id>

1: Generator
为每个 POJO 的实例提供唯一标识。一般情况,我们使用“native”。class 表示采用由生成器接口net.sf.hibernate.id.IdentifierGenerator 实现的某个实例,其中包括:
2: assigned
主键由外部程序负责生成,在 save() 之前指定一个。
3: hilo
通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。
4: seqhilo
与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle。
5: increment
主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。
6: identity
采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制。
7: sequence
采用数据库提供的 sequence 机制生成主键。如 Oralce 中的Sequence。
8: native
由 Hibernate 根据使用的数据库自行判断采用 identity、hilo、sequence 其中一种作为主键生成方式。
9: uuid.hex
由 Hibernate 基于128 位 UUID 算法 生成16 进制数值(编码后以长度32 的字符串表示)作为主键。
10: uuid.string
与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在 PostgreSQL 数据库中。
11: foreign
使用另外一个相关联的对象的标识符作为主键
分享到:
评论

相关推荐

    孙卫琴 精通hibernate源码上

    8. **Appendix A, B, C**:附录通常用来补充正文中的内容,可能是对某些高级主题的深入探讨,如性能调优、自定义类型、JPA(Java Persistence API)与Hibernate的关系,或者是常见问题和解决方案的集合。 通过学习...

    hibernate-note学习笔记

    ### hibernate-note学习笔记知识点详解 #### 一、对象持久化 **1.1 概述** 对象持久化是指将程序中的对象状态保存到非易失性存储中(如硬盘或磁盘等),以便在系统重启后仍能保留这些状态。这种技术常用于将对象的...

    hibernate5.3.1 用户手册

    "appendices"目录通常包含附录,这些可能包括API参考、常见问题解答(Q&A)、迁移指南等。这些资料对于解决实际开发中的问题非常有用。 "images"目录下存放的是手册中使用的图形和图表,它们有助于解释复杂的概念和...

    精通Hibernate源码

    13. **性能调优**:通过源码学习,可以掌握如何调整Hibernate配置,如批处理大小、缓存策略,以提升系统性能。 14. **附录C**:可能包含了一些特殊主题或常见问题解答,对于解决实际开发中的问题非常有帮助。 通过...

    孙卫琴hibernate source code1

    《孙卫琴hibernate source code1》是关于深入理解Hibernate源码的资源集合,它包含了一系列的章节和附录,旨在帮助开发者更好地理解和运用这个强大的Java持久化框架。Hibernate作为一个开源的对象关系映射(ORM)...

    夏昕.深入浅出Hibernate

    本书有丰富的附录部,在附录中讲述了Hibernate常用的映射配置,Hibernate工具、XDoclet模板配置以及Hibernate的益友iBatis用法,还以卡片的形式列出了本书中所用的工具及软件,附录最后一部分是“快速启动代码”,供...

    精通hibernate源码

    但根据这些章节标题,我们可以看到《精通Hibernate源码》这本书全面覆盖了Hibernate从基本操作到高级特性的方方面面,对于想要深入理解并掌握Hibernate的开发者来说,是一份宝贵的学习资源。通过阅读和实践,可以...

    精通hibernate code

    附录通常包含一些实用资源,如API文档、日志配置、调试技巧等,帮助读者更好地理解和使用Hibernate。 10. **Appendix C** - 示例项目或练习 这可能是书中的实践部分,提供了一个完整的示例项目,让读者能够动手...

    HIBERNATE参考手册

    通过学习《Hibernate参考手册》,开发者能够掌握Hibernate的核心概念和实践技巧,从而在实际开发中更加高效地进行数据库操作,提高代码的可维护性和可扩展性。对于Java EE项目,特别是涉及到大量数据库交互的应用,...

    Ant结合Xdoclet 实例教程(之整合 Hibernate)

    通过这个实例教程,开发者不仅可以学习到如何使用Ant进行项目构建,还能掌握Xdoclet如何简化Hibernate的使用。这种整合方式在Java EE项目中非常常见,因为它极大地提高了开发效率,降低了出错的可能性。因此,对这些...

    基于struts2、spring、hibernate构建一个网上投票系统-毕业论文.doc

    附录部分通常包含源代码、数据库设计、测试用例等相关资料,供读者参考和学习。 本系统的实现,不仅锻炼了开发者的技术能力,也展示了JavaEE开发中常用技术的综合运用。对于初学者而言,这是一个很好的实践案例,有...

    基于struts2、spring、hibernate构建一个网上投票系统—-毕业论文设计.doc

    作者会分享在设计和开发过程中的学习经历,包括技术应用的心得、团队协作的经验,以及对软件工程流程的理解。 四、附录 附录通常包含源代码片段、设计文档、测试报告等,以供读者参考和验证。 通过这样的设计,该...

    附录Java

    【描述】"附录Java"可能是指一个学习资料或教程的补充部分,专门针对Java语言的学习者提供额外的信息和深入理解。附录通常包含对主要教材的补充内容,如常见问题解答、代码示例、进阶概念或工具的介绍等。因此,我们...

    《Learn Java for Web Development》这本书是针对想要使用Java进行Web开发的读者编写的

    书中的附录部分则提供了Java、Groovy和Scala的基础知识,为读者提供了进一步学习的机会。通过《Learn Java for Web Development》,读者不仅可以掌握Java语言在Web开发中的应用,还能形成坚实的技术基础,为未来的...

    Java项目开发平台开发规范方案.docx

    包含Struts和Hibernate的学习精要,以及技术备忘,为开发者提供进一步学习和参考的资料。 在实际项目开发中,理解和应用上述知识点是至关重要的,它们构成了Java项目开发平台的基础和规范,有助于提高开发效率,...

    Java EE基础实用教程(电子教案+源程序 郑阿奇著)

    8. **附录资源**: 包含的一些TXT文件可能包含了课后练习、代码示例或补充说明,如"ʵϰP1.2-1txt.txt"和"ʵϰP1.4-3txt.txt",这些资源为读者提供了额外的学习材料,帮助他们巩固理解并解决实际问题。 总之,...

Global site tag (gtag.js) - Google Analytics