Oracle

Data type

RapidClipse default mapping

Generated Javacode (example)

BINARY_FLOAT

Is a 32-bit, single-precision floating-point number
datatype. Each BINARY_FLOAT value requires 5
bytes, including a length byte.

<sql-type jdbc-type="NUMERIC" name="binary_float"
    hibernate-type="java.lang.Float" />
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"BINARY_FLOAT"},new String[]
        {"java.lang.FLOAT","float"},"binary_float"));
private Float binaryfloattest;
@Column(name = "BINARYFLOATTEST", columnDefinition = "binary_float")
public Float getBinaryfloattest() {
    return this.binaryfloattest;
}

BINARY_DOUBLE

Is a 64-bit, double-precision floating-point number
datatype. Each BINARY_DOUBLE value requires 9
bytes, including a length byte.

<sql-type jdbc-type="NUMERIC" name="binary_double"
    hibernate-type="java.lang.Double" />
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"BINARY_DOUBLE"},new String[]
        {"java.lang.DOUBLE","double"},"binary_double"));
private Float binarydoubletest;
@Column(name = "BINARYDOUBLETEST", columnDefinition = "binary_double")
public Double getBinarydoubletest() {
    return this.binarydoubletest;
}

ROWID

Store the addresses of rows in ordinary tables.

<sql-type jdbc-type="CHAR" name="rowid"
        hibernate-type="java.lang.Float" />
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"ROWID"},new String[]{"java.lang.String"},"rowid"));
private String rowidtest;
@Column(name = "ROWIDTEST", columnDefinition = "rowid")
public String getRowidtest() {
    return this.rowidtest;
}

LONG

Columns defined as LONG can store variable-length character data containingup to 2 gigabytes of information. LONG data is text data that is to be appropriately converted when moving among different systems.

visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"LONG"},new String[]{"java.lang.String"},"long"));
private String longtest;
@Column(name = "LONGTEST", length = 0,
            columnDefinition = "long")
public String getLongtest() {
    return this.longtest;
}

NCHAR(n)

The NCHAR datatype stores fixed-length character strings that correspond to the national character set.

visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"NCHAR"},new String[]{"java.lang.String"},"nchar"));
private String nchartest;
@Column(name = "NCHARTEST", length = 10,
            columnDefinition = "nchar")
public String getNchartest() {
    return this.nchartest;
}

NCLOB

NCLOB datatype stores up to 128 terabytes of character data in the database.

NCLOBs store Unicode national character set data.

visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"NCLOB"},new String[]{"java.lang.String"},"nclob"))
        .addLobAnnotation());;
private String nclobtest;
@Lob
@Column(name = "NCLOBTEST", columnDefinition = "nclob")
public String getNclobtest() {
    return this.nclobtest;
}

CHAR (n)

The CHAR datatype stores fixed-length character strings.

When you create a table with a CHAR column, you must specify a string length (in bytes or characters) between 1 and 2000 bytes for the CHAR column width. The default is 1 byte.

visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"CHAR"},new String[]{"java.lang.String"},"char"));
private String chartest;
@Column(name = "CHARTEST", length = 10,
            columnDefinition = "char")
public String getChartest() {
    return this.chartest;
}

VARCHAR

The VARCHAR datatype is synonymous with the VARCHAR2 datatype. To avoid possible changes in behavior, always use the VARCHAR2 datatype to store variable-length character strings.

Hibernate default mapping

private String varchartest;
@Column(name = "VARCHARTEST", length = 10)
public String getVarchartest() {
    return this.varchartest;
}

NVARCHAR2

Variable-length Unicode character string having maximum length size characters. You must specify size for NVARCHAR2. The number of bytes can be up to two times size for AL16UTF16 encoding and three times size for UTF8 encoding. Maximum size is determined by the national character set definition, with an upper limit of:

  • 32767 bytes if MAX_STRING_SIZE = EXTENDED

  • 4000 bytes if MAX_STRING_SIZE = STANDARD

visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"NVARCHAR2"},new String[]{"java.lang.String"},"nvarchar2"));
private String nvarchar2test;
@Column(name = "NVARCHAR2TEST", length = 10,
            columnDefinition = "nvarchar2")
public String getNvarchar2test() {
    return this.nvarchar2test;
}

VARCHAR2(size [BYTE | CHAR])

Variable-length character string having maximum length size bytes or characters. You must specify size for VARCHAR2. Minimum size is 1 byte or 1 character. Maximum size is:

  • 32767 bytes or characters if MAX_STRING_SIZE = EXTENDED

  • 4000 bytes or characters if MAX_STRING_SIZE = STANDARD

BYTE indicates that the column will have byte length semantics. CHAR indicates that the column will have character semantics.

Hibernate default mapping

private String varchar2test;
@Column(name = "VARCHAR2TEST", length = 10")
public String getVarchar2test() {
    return this.varchar2test;
}

*CLOB

A character large object containing single-byte or multibyte characters. Both fixed-width and variable-width character sets are supported, both using the database character set. Maximum size is (4 gigabytes - 1) * (database block size).

<sql-type jdbc-type="CLOB" hibernate-type="java.lang.String" />
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"CLOB"},new String[]{"java.lang.String"},"clob")
        .addLobAnnotation());
private String clobtest;
@Lob
@Column(name = "CLOBTEST", columnDefinition = "clob")
public String getClobtest() {
    return this.clobtest;
}

NUMBER [(p [, s])]

Number having precision p and scale s.

The precision p can range from 1 to 38.

The scale s can range from -84 to 127. Both precision and scale are in decimal digits. A NUMBER value requires from 1 to 22 bytes.

<sql-type jdbc-type="NUMERIC" name="number"
    hibernate-type="java.lang.Double" />
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"NUMBER"},new String[]
        {"java.lang.Double","double"},"number"));
private Double numbertest;
@Column(name = "NUMBERTEST", precision = 22,
            scale = 0)
public Double getNumbertest() {
    return this.numbertest;
}

*DATE

The DATE data type stores date and time information. Although date and time information can be represented in both character and number data types, the DATE data type has special associated properties. For each DATE value, Oracle stores the following information: year, month, day, hour, minute, and second.

The default date values are determined as follows:

  • The year is the current year, as returned by SYSDATE.

  • The month is the current month, as returned by SYSDATE.

  • The day is 01 (the first day of the month).

  • The hour, minute, and second are all 0.

Hibernate default mapping

private Date datetest;
@Temporal(TemporalType.DATE)
@Column(name = "DATETEST", length = 7)
public Date getDatetest() {
    return this.datetest;
}

TIMESTAMP[(fractional_seconds_precision)]

The TIMESTAMP data type is an extension of the DATE data type. It stores the year, month, and day of the DATE data type, plus hour, minute, and second values.

This data type is useful for storing precise time values and for collecting and evaluating date information across geographic regions.

fractional_seconds_precision optionally specifies the number of digits Oracle stores in the fractional part of the SECOND datetime field. When you create a column of this data type, the value can be a number in the range 0 to 9. The default is 6.

Hibernate default mapping

private Date timestamptest;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "TIMESTAMPTEST")
public Date getTimestamptest() {
    return this.timestamptest;
}

*BLOB

A binary large object. Maximum size is (4 gigabytes - 1) * (database block size).

<sql-type jdbc-type="BLOB" hibernate-type="byte[]" />
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
    new String[]{"BLOB"},new String[]{"byte[]"},"blob"));
private byte[] blobtest;
@Column(name = "BLOBTEST", columnDefinition = "blob")
public byte[] getBlobtest() {
    return this.blobtest;
}