hibernate tools 中 jdbc-type 与 hibernate-type 对照表

来源:互联网 发布:mysql 备份 自动 编辑:程序博客网 时间:2024/05/22 14:17





我在使用 hibernate-tools 反向生成实体的时候, 数据库类型是 tinyint(1)(数据库中时非空属性, 可控属性可以生成为 Byte), 生成的实体属性始终是 boolean , 不太喜欢, 找了些资料, 解决此办法: 在数据库的连接 url 的后面加上 tinyInt1isBit=false 即可

如:



MySQL Type NameReturn value ofGetColumnClassNameReturned as Java ClassBIT(1) (new in MySQL-5.0)BITjava.lang.BooleanBIT( > 1) (new in MySQL-5.0)BITbyte[]TINYINTTINYINTjava.lang.Boolean if the configuration property tinyInt1isBit is set to true (the default) and the storage size is 1, orjava.lang.Integer if not.

下面是一些类型转换的例子:

<type-mapping>
<sql-type jdbc-type="INTEGER" hibernate-type="Integer"></sql-type>
<sql-type jdbc-type="DOUBLE" hibernate-type="Double"></sql-type>
<sql-type jdbc-type="FLOAT" hibernate-type="Float"></sql-type>
<sql-type jdbc-type="TINYINT"  hibernate-type="Integer"></sql-type>
<sql-type jdbc-type="TIMESTAMP" hibernate-type="Timestamp"></sql-type>
</type-mapping>







Hibernate映射类型java类型标准SQL类型integerjava.lang.IntegerINTEGERlongjava.lang.LongBIGINTshortjava.lang.ShortSMALLINTfloatjava.lang.FloatFLOATdoublejava.lang.FloatDOUBLEbig_decimaljava.math.BigDecimalNUMERICcharacterjava.lang.StringCHAR(1)stringjava.lang.StringVARCHARbytebyte或java.lang.ByteTINYINTbooleanboolean或java.lang.Boolean  BITyes_no    boolean或java.lang.Booleanchar(1)('Y'/'N')true_falseboolean或java.lang.Booleanchar(1)('Y'/'N')datejava.util.Date或java.sql.DateDATEtimejava.util.Date或java.sql.Timetimetimestampjava.util.Date或java.sql.timestampTIMESTAMPcalendarjava.util.CalendarTIMESTAMPcalendar_datejava.util.Calendardatebinarybyte[]varbinary或blobtextjava.lang.Stringclobserializablejava.io.Serializable实例varbinary或blobclobjava.sql.Clobclobblobjava.sql.Blobvarbinary或blobclassjava.lang.Classvarcharlocalejava.util.Localevarchartimezonejava.util.TimeZonevarcharcurrencyjava.util.Currencyvarchar

 

Hibernate的TypeFactory的类型内置配置打印如下:

1: java.util.TimeZone---------------------org.hibernate.type.TimeZoneType
2: [Ljava.lang.Byte;---------------------org.hibernate.type.WrapperBinaryType
3: char---------------------org.hibernate.type.CharacterType
4: java.lang.Boolean---------------------org.hibernate.type.BooleanType
5: java.lang.Long---------------------org.hibernate.type.LongType
6: java.sql.Timestamp---------------------org.hibernate.type.TimestampType
7: long---------------------org.hibernate.type.LongType
8: java.lang.Float---------------------org.hibernate.type.FloatType
9: float---------------------org.hibernate.type.FloatType
10: timezone---------------------org.hibernate.type.TimeZoneType
11: time---------------------org.hibernate.type.TimeType
12: imm_serializable---------------------org.hibernate.type.AdaptedImmutableType
13: java.math.BigInteger---------------------org.hibernate.type.BigIntegerType
14: java.lang.Double---------------------org.hibernate.type.DoubleType
15: byte---------------------org.hibernate.type.ByteType
16: java.util.Locale---------------------org.hibernate.type.LocaleType
17: java.lang.Class---------------------org.hibernate.type.ClassType
18: java.sql.Time---------------------org.hibernate.type.TimeType
19: boolean---------------------org.hibernate.type.BooleanType
20: java.io.Serializable---------------------org.hibernate.type.SerializableType
21: text---------------------org.hibernate.type.TextType
22: java.lang.Object---------------------org.hibernate.type.AnyType
23: int---------------------org.hibernate.type.IntegerType
24: imm_binary---------------------org.hibernate.type.AdaptedImmutableType
25: class---------------------org.hibernate.type.ClassType
26: image---------------------org.hibernate.type.ImageType
27: java.lang.Integer---------------------org.hibernate.type.IntegerType
28: dbtimestamp---------------------org.hibernate.type.DbTimestampType
29: java.lang.Short---------------------org.hibernate.type.ShortType
30: imm_calendar_date---------------------org.hibernate.type.AdaptedImmutableType
31: java.sql.Blob---------------------org.hibernate.type.BlobType
32: double---------------------org.hibernate.type.DoubleType
33: java.sql.Date---------------------org.hibernate.type.DateType
34: big_integer---------------------org.hibernate.type.BigIntegerType
35: java.lang.Byte---------------------org.hibernate.type.ByteType
36: materialized_clob---------------------org.hibernate.type.MaterializedClobType
37: yes_no---------------------org.hibernate.type.YesNoType
38: char[]---------------------org.hibernate.type.CharArrayType
39: imm_dbtimestamp---------------------org.hibernate.type.AdaptedImmutableType
40: java.util.Currency---------------------org.hibernate.type.CurrencyType
41: binary---------------------org.hibernate.type.BinaryType
42: java.util.Calendar---------------------org.hibernate.type.CalendarType
43: locale---------------------org.hibernate.type.LocaleType
44: clob---------------------org.hibernate.type.ClobType
45: object---------------------org.hibernate.type.AnyType
46: date---------------------org.hibernate.type.DateType
47: imm_time---------------------org.hibernate.type.AdaptedImmutableType
48: [Ljava.lang.Character;---------------------org.hibernate.type.CharacterArrayType
49: currency---------------------org.hibernate.type.CurrencyType
50: character---------------------org.hibernate.type.CharacterType
51: timestamp---------------------org.hibernate.type.TimestampType
52: short---------------------org.hibernate.type.ShortType
53: calendar_date---------------------org.hibernate.type.CalendarDateType
54: java.util.GregorianCalendar---------------------org.hibernate.type.CalendarType
55: java.sql.Clob---------------------org.hibernate.type.ClobType
56: java.lang.Character---------------------org.hibernate.type.CharacterType
57: big_decimal---------------------org.hibernate.type.BigDecimalType
58: Character[]---------------------org.hibernate.type.CharacterArrayType
59: serializable---------------------org.hibernate.type.SerializableType
60: calendar---------------------org.hibernate.type.CalendarType
61: materialized_blob---------------------org.hibernate.type.MaterializedBlobType
62: Byte[]---------------------org.hibernate.type.WrapperBinaryType
63: imm_date---------------------org.hibernate.type.AdaptedImmutableType
64: [B---------------------org.hibernate.type.BinaryType
65: integer---------------------org.hibernate.type.IntegerType
66: java.lang.String---------------------org.hibernate.type.StringType
67: [C---------------------org.hibernate.type.CharArrayType
68: java.util.Date---------------------org.hibernate.type.TimestampType
69: true_false---------------------org.hibernate.type.TrueFalseType
70: blob---------------------org.hibernate.type.BlobType
71: imm_calendar---------------------org.hibernate.type.AdaptedImmutableType
72: imm_timestamp---------------------org.hibernate.type.AdaptedImmutableType
73: string---------------------org.hibernate.type.StringType
74: java.math.BigDecimal---------------------org.hibernate.type.BigDecimalType
75: byte[]---------------------org.hibernate.type.BinaryType

0 0
原创粉丝点击