CloudWare

cafelog-coffee

Hibernate: Tipos de Dados e Dialetos Suportados

Quarta, 09 Novembro 2011

hibernate

TIPOS DE DADOS

Sabemos que o Java possui seus próprios tipos de dados (java.lang.String, java.lang.Character, java.util.Date, java.util.List...), assim como o SQL também possui (varchar, character, timestamp...). Isso poderia se tornar um problema em alguns casos, pois nem sempre a conversão de um tipo de dado do Java coincidiria com um tipo de dado SQL.

Por exemplo, no Java temos o tipo java.util.Date responsável por armazenar data e hora, ou apenas um dos dois. Na linguagem SQL temos date (Data), time (Horário) e timestamp (Data e Horário). Uma conversão deste tipo pode não ser bem sucedida em determinadas situações.

Para que este tipo de problema não ocorra, o Hibernate tem seus próprios tipos de dados, que funcionam como intermediários entre os tipos da aplicação e o Banco de Dados, garantindo uma conversão segura.

Confira a tabela comparativa entre os tipos de dados do Hibernate e do Java:

Hibernate

Java

integer

int, java.lang.Integer

long

long, java.lang.Long

short

short, java.lang.Short

float

float, java.lang.Float

double

double, java.lang.Double

character

char, java.lang.Character

byte

byte, java.lang.Byte

boolean, yes_no, true_false

boolean, java.lang.Boolean

string, text

java.lang.String

date, time, timestamp

java.util.Date

calendar, calendar_date

java.util.Calendar

big_decimal

java.math.BigDecimal

big_integer

java.math.BigInteger

Locale

java.util.Locale

timezone

java.util.TimeZone

currency

java.util.Currency

class

java.lang.Class

Binary

byte[]

DIALETOS SUPORTADOS

Você deve sempre determinar a propriedade hibernate.dialect ao configurar o Hibernate. Se você especificar um dialeto, o Hibernate usará padrões lógicos exclusivos para o dialeto informado, reduzindo o esforço de especificá-los manualmente.

A seguir temos uma tabela com todos os Bancos de Dados Relacionais suportados pelo Hibernate:

Banco de Dados

Dialeto

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 com InnoDB

org.hibernate.dialect.MySQLInnoDBDialect

MySQL com MyISAM

org.hibernate.dialect.MySQLMyISAMDialect

Oracle (qualquer versão)

org.hibernate.dialect.OracleDialect

Oracle 9i

org.hibernate.dialect.Oracle9iDialect

Oracle 10g

org.hibernate.dialect.Oracle10gDialect

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

Android

Java

Hibernate

Joomla!

CSS3

HTML5

Saia na Frente

html5 css3

Sobre Mim

sobre-foto-2Adriel Café é Web Master e Desenvolvedor Java. Ele incentiva o uso/estudo de Web Standards, Java e Android.

Saiba Mais

Encontre-me

facebook linkedin