SELECT distinct('/*** ' || c.comments || '*/ ' || '@Column(name = "' ||
A.COLUMN_NAME || '", length=' || a.DATA_LENGTH || ') ' ||
decode(a.DATA_TYPE,
'DATE',
'private Date',
'NUMBER',
'private int',
'private String') || ' ' ||
regexp_replace(lower(REGEXP_SUBSTR(A.COLUMN_NAME, '[[:alnum:]]+')) ||
initcap(REGEXP_SUBSTR(A.COLUMN_NAME,
'((_)([[:alnum:]]+))+',
1,
1,
'i')),
'_',
'') || ';') AS STR
FROM ALL_TAB_COLUMNS A, user_col_comments c
WHERE A.TABLE_NAME = 'SP_PD_RELIABILITY_BASE_0'
and c.TABLE_NAME = 'SP_PD_RELIABILITY_BASE_0'
and a.COLUMN_NAME = c.column_name