#hibernate类型对应
Java数据类型 | Hibernate数据类型 | 标准SQL数据类型 | byte、Java.lang.Byte | Byte[] | IMAGE |
byte、java.lang.Byte | byte | TINYINT |
short、java.lang.Short | short | SMALLINT |
int、java.lang.Integer | integer | INGEGER |
long、java.lang.Long | long | BIGINT |
float、java.lang.Float | float | FLOAT |
double、java.lang.Double | double | DOUBLE |
double、java.lang.Double | double | Money |
java.math.BigDecimal | big_decimal | NUMERIC |
char、java.lang.Character | character | CHAR(1) |
boolean、java.lang.Boolean | boolean | BIT |
java.lang.String | string | VARCHAR |
boolean、java.lang.Boolean | yes_no | CHAR(1)('Y'或'N') |
boolean、java.lang.Boolean | true_false | CHAR(1)('Y'或'N') |
java.util.Date、java.sql.Date | date | DATE |
java.util.Date、java.sql.Time | time | TIME |
java.util.Date、java.sql.Timestamp | timestamp | TIMESTAMP |
java.util.Calendar | calendar | TIMESTAMP |
java.util.Calendar | calendar_date | DATE |
byte[] | binary | VARBINARY、BLOB |
java.lang.String | text | CLOB |
java.io.Serializable | serializable | VARBINARY、BLOB |
java.sql.Clob | clob | CLOB |
java.sql.Blob | blob | BLOB |
java.lang.Class | class | VARCHAR |
java.util.Locale | locale | VARCHAR |
java.util.TimeZone | timezone | VARCHAR |
java.util.Currency | currency | VARCHAR |
#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 InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM | org.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 |
Informix | org.hibernate.dialect.InformixDialect | |
HypersonicSQL | org.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
使用另外一个相关联的对象的标识符作为主键
分享到:
相关推荐
8. **Appendix A, B, C**:附录通常用来补充正文中的内容,可能是对某些高级主题的深入探讨,如性能调优、自定义类型、JPA(Java Persistence API)与Hibernate的关系,或者是常见问题和解决方案的集合。 通过学习...
### hibernate-note学习笔记知识点详解 #### 一、对象持久化 **1.1 概述** 对象持久化是指将程序中的对象状态保存到非易失性存储中(如硬盘或磁盘等),以便在系统重启后仍能保留这些状态。这种技术常用于将对象的...
"appendices"目录通常包含附录,这些可能包括API参考、常见问题解答(Q&A)、迁移指南等。这些资料对于解决实际开发中的问题非常有用。 "images"目录下存放的是手册中使用的图形和图表,它们有助于解释复杂的概念和...
13. **性能调优**:通过源码学习,可以掌握如何调整Hibernate配置,如批处理大小、缓存策略,以提升系统性能。 14. **附录C**:可能包含了一些特殊主题或常见问题解答,对于解决实际开发中的问题非常有帮助。 通过...
《孙卫琴hibernate source code1》是关于深入理解Hibernate源码的资源集合,它包含了一系列的章节和附录,旨在帮助开发者更好地理解和运用这个强大的Java持久化框架。Hibernate作为一个开源的对象关系映射(ORM)...
本书有丰富的附录部,在附录中讲述了Hibernate常用的映射配置,Hibernate工具、XDoclet模板配置以及Hibernate的益友iBatis用法,还以卡片的形式列出了本书中所用的工具及软件,附录最后一部分是“快速启动代码”,供...
但根据这些章节标题,我们可以看到《精通Hibernate源码》这本书全面覆盖了Hibernate从基本操作到高级特性的方方面面,对于想要深入理解并掌握Hibernate的开发者来说,是一份宝贵的学习资源。通过阅读和实践,可以...
附录通常包含一些实用资源,如API文档、日志配置、调试技巧等,帮助读者更好地理解和使用Hibernate。 10. **Appendix C** - 示例项目或练习 这可能是书中的实践部分,提供了一个完整的示例项目,让读者能够动手...
通过学习《Hibernate参考手册》,开发者能够掌握Hibernate的核心概念和实践技巧,从而在实际开发中更加高效地进行数据库操作,提高代码的可维护性和可扩展性。对于Java EE项目,特别是涉及到大量数据库交互的应用,...
通过这个实例教程,开发者不仅可以学习到如何使用Ant进行项目构建,还能掌握Xdoclet如何简化Hibernate的使用。这种整合方式在Java EE项目中非常常见,因为它极大地提高了开发效率,降低了出错的可能性。因此,对这些...
附录部分通常包含源代码、数据库设计、测试用例等相关资料,供读者参考和学习。 本系统的实现,不仅锻炼了开发者的技术能力,也展示了JavaEE开发中常用技术的综合运用。对于初学者而言,这是一个很好的实践案例,有...
作者会分享在设计和开发过程中的学习经历,包括技术应用的心得、团队协作的经验,以及对软件工程流程的理解。 四、附录 附录通常包含源代码片段、设计文档、测试报告等,以供读者参考和验证。 通过这样的设计,该...
【描述】"附录Java"可能是指一个学习资料或教程的补充部分,专门针对Java语言的学习者提供额外的信息和深入理解。附录通常包含对主要教材的补充内容,如常见问题解答、代码示例、进阶概念或工具的介绍等。因此,我们...
书中的附录部分则提供了Java、Groovy和Scala的基础知识,为读者提供了进一步学习的机会。通过《Learn Java for Web Development》,读者不仅可以掌握Java语言在Web开发中的应用,还能形成坚实的技术基础,为未来的...
包含Struts和Hibernate的学习精要,以及技术备忘,为开发者提供进一步学习和参考的资料。 在实际项目开发中,理解和应用上述知识点是至关重要的,它们构成了Java项目开发平台的基础和规范,有助于提高开发效率,...
8. **附录资源**: 包含的一些TXT文件可能包含了课后练习、代码示例或补充说明,如"ʵϰP1.2-1txt.txt"和"ʵϰP1.4-3txt.txt",这些资源为读者提供了额外的学习材料,帮助他们巩固理解并解决实际问题。 总之,...