您的位置:首页 > 其它

转载一些HIbernate常用的东西

2012-08-15 12:29 134 查看
本文其实不是什么技术难点,但是有时候很有必要及时查到需要的信息

记录以备日后用到的时候找的麻烦

属性名用途
hibernate.dialectHibernate方言(Dialect)的类名 - 可以让Hibernate使用某些特定的数据库平台的特性
取值. full.classname.of.Dialect

hibernate.default_schema在生成的SQL中,scheml/tablespace的全限定名
取值. SCHEMA_NAME
hibernate.session_factory_name把SessionFactory绑定到JNDI中去.
取值. jndi/composite/name
hibernate.use_outer_join允许使用外连接抓取.
取值. true | false
hibernate.max_fetch_depth设置外连接抓取树的最大深度
取值. 建议设置为0到3之间
hibernate.jdbc.fetch_size一个非零值,用来决定JDBC的获取量大小。(会调用calls Statement.setFetchSize()).
hibernate.jdbc.batch_size一个非零值,会开启Hibernate使用JDBC2的批量更新功能
取值. 建议值在 5 和 30之间。
hibernate.jdbc.use_scrollable_resultset允许Hibernate使用JDBC2提供的可滚动结果集。只有在使用用户自行提供的连接时,这个参数才是必需的。否则Hibernate会使用连接的元数据(metadata)。
取值. true | false
hibernate.jdbc.use_streams_for_binary在从JDBC读写binary(二进制)或者serializable(可序列化)类型时,是否使用stream(流). 这是一个系统级别的属性。
取值. true | false
hibernate.cglib.use_reflection_optimizer是否使用CGLIB来代替运行时反射操作。(系统级别属性,默认为在可能时都使用CGLIB).在调试的时候有时候使用反射会有用。
取值. true | false
hibernate.jndi.<propertyName>把propertyName这个属性传递到JNDI InitialContextFactory去 (可选)
hibernate.connection.isolation事务隔离级别 (可选)
取值. 1, 2, 4, 8
hibernate.connection.<propertyName>把 propertyName这个JDBC 属性传递到DriverManager.getConnection()去.
hibernate.connection.provider_class指定一个自定义的ConnectionProvider类名
取值. classname.of.ConnectionProvider
hibernate.cache.provider_class指定一个自定义的CacheProvider缓存提供者的类名
取值. classname.of.CacheProvider
hibernate.transaction.factory_class指定一个自定义的TransactionFactory类名,Hibernate Transaction API将会使用.
取值. classname.of.TransactionFactory
jta.UserTransactionJTATransactionFactory 用来获取JTA UserTransaction的JNDI名.
取值. jndi/composite/name
hibernate.transaction.manager_lookup_classTransactionManagerLookup的类名 - 当在JTA环境中,JVM级别的缓存被打开的时候使用.
取值. classname.of.TransactionManagerLookup
hibernate.query.substitutions把Hibernate查询中的一些短语映射为SQL短语。(比如说短语可能是函数或者字符) .
取值. hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC
hibernate.show_sql把所有的SQL语句都输出到控制台(可以作为log功能的一个替代).
取值. true | false
hibernate.hbm2ddl.auto自动输出schema创建DDL语句.
取值. update | create | create-drop
文章转自点击打开链

—————————————————————————————— 数据映射 ——————————————————————————————

Hibernate映射类型

Java类型

标准SQL类型

integer

java.lang.Integer

INTEGER

long

java.lang.Long

BIGINT

short

java.lang.Short

SMALLINT

float

java.lang.Float

FLOAT

double

java.lang.Double

DOUBLE

big_decimal

java.math.BigDecimal

NUMERIC

character

java.lang.String

CHAR(1)

string

java.lang.String

VARCHAR

byte

byte或java.lang.Byte

TINYINT

boolean

boolean或java.lang.Boolean

BIT

(续表)

Hibernate映射类型

Java类型

标准SQL类型

yes_no

boolean或java.lang.Boolean

CHAR(1)('Y'或'N')

true_false

boolean或java.lang.Boolean

CHAR(1)('Y'或'N')

date

java.util.Date或java.sql.Date

DATE

time

java.util.Date或java.sql.Time

TIME

timestamp

java.util.Date或java.sql.Timestamp

TIMESTAMP

calendar

java.util.Calendar

TIMESTAMP

calendar_date

java.util.Calendar

DATE

binary

byte[]

VARBINARY或BLOB

text

java.lang.String

CLOB

serializable

java.io.Serializable实例

VARBINARY或BLOB

clob

java.sql.Clob

CLOB

blob

java.sql.Blob

BLOB

class

java.lang.Class

VARCHAR

locale

java.util.Locale

VARCHAR

timezone

java.util.TimeZone

VARCHAR

currency

java.util.Currency

VARCHAR

下面我们用实例演示上述映射数据类型的用法。
假如在MySQL数据库中有一张关系表datamap,如表4-5所示。
表4-5 datamap数据表

字 段 名 称

数 据 类 型

主 键

自 增

允 许 为空

描 述

ID

int(4)



增1

ID号

MYBOOLEAN

bit(1)



逻辑型数据

MYINT

int(5)



整型数据

MYLONG

bigint(11)



长整型数据

MYFLOAT

float(8,2)



单精度浮点型数据

MYDOUBLE

double(10,2)



双精度浮点型数据

MYDECIMAL

decimal(10,2)



DECIMAL型数据

MYSTRING

varchar(100)



字符串数据

MYTEXT

text



Text型数据

MYDATE

date



Date型数据

MYTIME

time



Time型数据

MYDATETIME

datetime



Datetime型数据

MYTIMESTAMP

timestamp



Timestamp型数据

MYBINARY

varbinary(10240)



Binary型数据

MYBLOB

longblob



Blob型数据

文章出自:点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: