Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Oracletype-mapping und EntityGeneratorCustomizerJAVA Beispiel

binary_float

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

Code Block
languagexml
<sql-type jdbc-type="NUMERIC" name="binary_float" 
	hibernate-type="java.lang.Float" />
Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"BINARY_FLOAT"},new String[]
		{"java.lang.FLOAT","float"},"binary_float"));
Code Block
languagejava
private Float binaryfloattest;
Code Block
languagejava
@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.

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

rowid

 Store the addresses of rows in ordinary tables.

Code Block
languagexml
<sql-type jdbc-type="CHAR" name="rowid" 
		hibernate-type="java.lang.Float" />
Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"ROWID"},new String[]{"java.lang.String"},"rowid"));
Code Block
languagejava
private String rowidtest;
Code Block
languagejava
@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.

-

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"LONG"},new String[]{"java.lang.String"},"long"));
Code Block
languagejava
private String longtest;
Code Block
languagejava
@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.

-

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"NCHAR"},new String[]{"java.lang.String"},"nchar"));
Code Block
languagejava
private String nchartest;
Code Block
languagejava
@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.

-

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"NCLOB"},new String[]{"java.lang.String"},"nclob"))
		.addLobAnnotation());;
Code Block
languagejava
private String nclobtest;
Code Block
languagejava
@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.

-

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"CHAR"},new String[]{"java.lang.String"},"char"));
Code Block
languagejava
private String chartest;
Code Block
languagejava
@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.

-

-

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

nvarchar2

NVARCHAR2 is a Unicode datatype that

 store Unicode character data. The character set

 NVARCHAR2 datatype can only be either 

 AL16UTF16 or UTF8 and is specified at

 database creation time as the national character

 set. AL16UTF16 and UTF8 are both Unicode encoding.

-

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

varchar2

The VARCHAR2 datatype stores variable-length character

 strings. When you create a table with a VARCHAR2

 column, you specify a maximum string length (in bytes or

 characters) between 1 and 4000 bytes for the VARCHAR2

 column. For each row, Oracle Database stores each value

 in the column as a variable-length field unless a value

 exceeds the column's maximum length, in which case

 Oracle Database returns an error.

-

-

 character set data
Data typeRapidClipse default mappingGenerated 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.

Code Block
languagexml
<sql-type jdbc-type="NUMERIC" name="binary_float" 
	hibernate-type="java.lang.Float" />
Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"BINARY_FLOAT"},new String[]
		{"java.lang.FLOAT","float"},"binary_float"));
Code Block
languagejava
private Float binaryfloattest;
Code Block
languagejava
@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.

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

ROWID

Store the addresses of rows in ordinary tables.

Code Block
languagexml
<sql-type jdbc-type="CHAR" name="rowid" 
		hibernate-type="java.lang.Float" />
Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"ROWID"},new String[]{"java.lang.String"},"rowid"));
Code Block
languagejava
private String rowidtest;
Code Block
languagejava
@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.

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"LONG"},new String[]{"java.lang.String"},"long"));
Code Block
languagejava
private String longtest;
Code Block
languagejava
@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.

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"NCHAR"},new String[]{"java.lang.String"},"nchar"));
Code Block
languagejava
private String nchartest;
Code Block
languagejava
@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.


Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"NCLOB"},new String[]{"java.lang.String"},"nclob"))
		.addLobAnnotation());;
Code Block
languagejava
private String nclobtest;
Code Block
languagejava
@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.

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"CHAR"},new String[]{"java.lang.String"},"char"));
Code Block
languagejava
private String chartest;
Code Block
languagejava
@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


Code Block
languagejava
private String varchartest;
Code Block
languagejava
@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

Code Block
languagejava
visitor.addPropertyColumnDefinitionFix(new PropertyColumnDefinitionFix(
	new String[]{"NVARCHAR2"},new String[]{"java.lang.String"},"nvarchar2"));
Code Block
languagejava
private String nvarchar2test;
Code Block
languagejava
@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


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

clob

The CLOB datatype stores up to 128 terabytes

 of character data in the database. CLOBs store database

 of precision

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).


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

number

The NUMBER datatype stores fixed and floating-point

 numbers. Numbers of virtually any magnitude can be

 stored and are guaranteed portable among different

 systems operating Oracle Database, up to 38 digits

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.


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

DATE

The 

The DATE

 datatype stores point-in-time values (dates

and times) in a table. The DATE datatype stores the

year (including the century), the month, the day, the

hours, the minutes, and the seconds (after midnight).

Oracle Database can store dates in the Julian era,

ranging from January 1, 4712 BCE through December

31, 9999 CE (Common Era, or 'AD'). Unless BCE

('BC' in the format mask) is specifically used, CE date

entries are the default.

Oracle Database uses its own internal format to store

dates. Date data is stored in fixed-length fields of seven

bytes each, corresponding to century, year, month, day,

hour, minute, and second.

 -

-

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

-

-

 binary data

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


Code Block
languagejava
private Date datetest;
Code Block
languagejava
@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


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

blob

The BLOB datatype stores unstructured binary data in

 the database. BLOBs can store up to 128 terabytes of

BLOB

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


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