0

We don't want to store password in String variable in Hibernate entity class instead we want to store it in a char[] array so that we can empty the array after using it. Hence we are reducing the chance of Heap inspection.

Need your suggestion .

Password field in DB column - VARCHAR

Password field in Java-Hibernate entity - String (Current s/m)

Can we use Char[] in Java-Hiberante entity instead of String?

Roman C
  • 49,761
  • 33
  • 66
  • 176
Panneerselvam
  • 421
  • 6
  • 13

1 Answers1

0

Hibernate maps String andchar[] to VARCHAR because they are basic data types. For more details see in the documentation Hibernate-provided BasicTypes

Table 3.1. Standard BasicTypes

Hibernate type (org.hibernate.type package) JDBC type   Java type   BasicTypeRegistry key(s)
StringType  VARCHAR java.lang.String    string, java.lang.String
MaterializedClob    CLOB    java.lang.String    materialized_clob
TextType    LONGVARCHAR java.lang.String    text
CharacterType   CHAR    char, java.lang.Character   char, java.lang.Character
BooleanType BIT boolean, java.lang.Boolean  boolean, java.lang.Boolean
NumericBooleanType  INTEGER, 0 is false, 1 is true  boolean, java.lang.Boolean  numeric_boolean
YesNoType   CHAR, 'N'/'n' is false, 'Y'/'y' is true. The uppercase value is written to the database.    boolean, java.lang.Boolean  yes_no
TrueFalseType   CHAR, 'F'/'f' is false, 'T'/'t' is true. The uppercase value is written to the database.    boolean, java.lang.Boolean  true_false
ByteType    TINYINT byte, java.lang.Byte    byte, java.lang.Byte
ShortType   SMALLINT    short, java.lang.Short  short, java.lang.Short
IntegerTypes    INTEGER int, java.lang.Integer  int, java.lang.Integer
LongType    BIGINT  long, java.lang.Long    long, java.lang.Long
FloatType   FLOAT   float, java.lang.Float  float, java.lang.Float
DoubleType  DOUBLE  double, java.lang.Double    double, java.lang.Double
BigIntegerType  NUMERIC java.math.BigInteger    big_integer, java.math.BigInteger
BigDecimalType  NUMERIC java.math.BigDecimal    big_decimal, java.math.bigDecimal
TimestampType   TIMESTAMP   java.sql.Timestamp  timestamp, java.sql.Timestamp
TimeType    TIME    java.sql.Time   time, java.sql.Time
DateType    DATE    java.sql.Date   date, java.sql.Date
CalendarType    TIMESTAMP   java.util.Calendar  calendar, java.util.Calendar
CalendarDateType    DATE    java.util.Calendar  calendar_date
CurrencyType    java.util.Currency  VARCHAR currency, java.util.Currency
LocaleType  VARCHAR java.util.Locale    locale, java.utility.locale
TimeZoneType    VARCHAR, using the TimeZone ID  java.util.TimeZone  timezone, java.util.TimeZone
UrlType VARCHAR java.net.URL    url, java.net.URL
ClassType   VARCHAR (class FQN) java.lang.Class class, java.lang.Class
BlobType    BLOB    java.sql.Blob   blog, java.sql.Blob
ClobType    CLOB    java.sql.Clob   clob, java.sql.Clob
BinaryType  VARBINARY   byte[]  binary, byte[]
MaterializedBlobType    BLOB    byte[]  materized_blob
ImageType   LONGVARBINARY   byte[]  image
WrapperBinaryType   VARBINARY   java.lang.Byte[]    wrapper-binary, Byte[], java.lang.Byte[]
CharArrayType   VARCHAR char[]  characters, char[]
CharacterArrayType  VARCHAR java.lang.Character[]   wrapper-characters, Character[], java.lang.Character[]
UUIDBinaryType  BINARY  java.util.UUID  uuid-binary, java.util.UUID
UUIDCharType    CHAR, can also read VARCHAR java.util.UUID  uuid-char
PostgresUUIDType    PostgreSQL UUID, through Types#OTHER, which complies to the PostgreSQL JDBC driver definition   java.util.UUID  pg-uuid
SerializableType    VARBINARY   implementors of java.lang.Serializable  Unlike the other value types, multiple instances of this type are registered. It is registered once under java.io.Serializable, and registered under the specific java.io.Serializable implementation class names.
StringNVarcharType  NVARCHAR    java.lang.String    nstring
NTextType   LONGNVARCHAR    java.lang.String    ntext
NClobType   NCLOB   java.sql.NClob  nclob, java.sql.NClob
MaterializedNClobType   NCLOB   java.lang.String    materialized_nclob
PrimitiveCharacterArrayNClobType    NCHAR   char[]  N/A
CharacterNCharType  NCHAR   java.lang.Character ncharacter
CharacterArrayNClobType NCLOB   java.lang.Character[]   N/A
Roman C
  • 49,761
  • 33
  • 66
  • 176