Caros, boa noite.
Tenho uma aplicação Web que receberá uma string “Longa” (tipo notícia) e gostaria de saber como declarar para salvar no Bd.
Utilizo Hibernate, VRaptor e Postgree.
Muito obrigado 
Você pode salvar esse campo como BLOB.
Neste link há um exemplo que você pode usar como referência: http://www.hibernate.org/73.html
e nesses métodos, ao invés de byte, converte para String, tanto na hora de salvar quanto na hora de recuperar
/**
* @see net.sf.hibernate.UserType#nullSafeGet(java.sql.ResultSet, java.lang.String[], java.lang.Object)
*/
public Object nullSafeGet(ResultSet rs, String[] names, Object owner)
throws HibernateException, SQLException {
String dbValue = (String) Hibernate.STRING.nullSafeGet(rs, names[0]);
if ( dbValue != null ) {
return dbValue;
}
else {
return null;
}
}
/**
* @see net.sf.hibernate.UserType#nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int)
*/
public void nullSafeSet(PreparedStatement st, Object value, int index)
throws HibernateException, SQLException {
if ( value != null ) {
String v = (String) value;
Hibernate.STRING.nullSafeSet(st, v, index);
}
else {
Hibernate.STRING.nullSafeSet(st, value, index);
}
}
Caro marcoswp3x, muito obrigado pela resposta.
Quando declaro como Blob o Postgre declara o campo
oid é dessa forma mesmo?
Muito obrigado 
import java.sql.Blob;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Produtoaux_sm {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id_produtoaux;
@Column(length=6)
private String porcao;
@Column(length=7)
private String Kal;
@Column(length=60)
private String descricao;
private Blob dica;
ahh postgre faz um tratamento tosco ehehe…
ele cria esse oid, q na verdade é um numérico, e esse vai ser o código de uma tabela com campos blobs de verdade.
pra fazer gravar aí acho q tem q fazer um tratamento especial, mas agora não lembro de cabeça como faz isso ehehe…
dá uma pesquisada, amanhã eu posto um exemplo q fiz uma vez.
[quote=marcoswp3x]ahh postgre faz um tratamento tosco ehehe…
ele cria esse oid, q na verdade é um numérico, e esse vai ser o código de uma tabela com campos blobs de verdade.
pra fazer gravar aí acho q tem q fazer um tratamento especial, mas agora não lembro de cabeça como faz isso ehehe…
dá uma pesquisada, amanhã eu posto um exemplo q fiz uma vez.[/quote]
Será criada mais uma tabela no Postgree ? Se vc possuir o código será bem interessante, pois
fiz buscas aqui e no google e só encontrei mais dúvidas.
Valeu e muito obrigado. 
então, ele faz isso sim, cria mais uma tabela e tals.
eu fiz dessa forma pra gravar como byte em postgree:
public int[] sqlTypes() {
final Object o = getDriver() //aki vc cria um método pra retornar o driver utilizado pela conexão atual
if (Drivers.POSTGRE == o) {
return new int[]{Types.VARBINARY};
}
return new int[]{Types.BLOB};
}
Boa tarde marcoswp3x.
Qual seria o tipo declarar na classe java para utilizar o Text no Postgree?
como “Text” ao rodar GeraBanco ela reclama desse tipo.
Para testar a viabilidade do campo Text no Postgree, criei o campo dica2 como
string e rodei a Gera Banco, fui no PostGree e alterei de varchar para text e coloquei
um texto grande pela aplicação e funcionou bem.
Dessa forma gostaria de saber o tipo correto para fazer mais testes.
Muito obrigado
@Entity
public class Produtoaux_sm {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id_produtoaux;
@Column(length=6)
private String porcao;
@Column(length=7)
private String Kal;
@Column(length=60)
private String descricao;
private Text dica;
então, eu declaro como byte[]
tipo:
private byte[] flCube;
e no getter eu defino assim:
@Lob
@Column(length = 7500, name = "FLCUBE")
@Type(type = "org.blabla.BinaryBlobType")
public byte[] getFlCube() {
return this.flCube;
}