RESOLVIDO! Setar Valor Default Hibernate Annotations

Galera estou com uma pequena duvida, preciso mapear uma coluna sendo que ao ser gerada no banco ela tem que ter seu valor default = 0

Meu atributo é esse

@Column(name="vl_custo")
	private Float vlCusto;

preciso que ele seja criado assim

vl_custo real NOT NULL DEFAULT 0,

Tem como fazer isso, mepeando o atributo?

Pelo que vimos, é possível modificar o nome da coluna (como você já fez), o seu caráter nullable (no seu caso você quer NOT NULL, ou seja, teria de usar nullable=false ), mas não dá para especificar o default; talvez você tenha de experimentar com o parâmetro “columnDefinition”, ou seja, talvez você tenha de usar algo como columnDefinition=“real NOT NULL DEFAULT 0” por causa desse default que você não pode incluir como propriedade da anotação. De qualquer maneira, leia em http://blog.tremend.ro/2007/08/27/hibernate-annotations-default-value/ como é que ele usou “columnDefinition”.

//assim
@Column(name="vl_custo", nullable = false )  
     private Float vlCusto = 0f;

//ou assim
@Column(name="vl_custo", nullable = false,  columnDefinition = "float default 0")  
     private Float vlCusto;

Mais detalhes:

http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/

Valeu galera, muito obrigado pela ajuda

ficou assim

@Column(name="vl_custo", nullable = false,  columnDefinition = "float default 0")     
     private Float vlCusto;

Bom pessoal, depois de quebrar a cabeça quase meio dia… achei a solucao para Annotation do Hibernate na inserção de valores Default.

@Column(name = "DELETE_FLAG", columnDefinition = "NUMBER(2) default 0", insertable = false, updatable = true)
private Long deleteFlag ;

A grande mágica esta no: “insertable = false” pq ele nao ira passar esse atributo para o INSERT, logo o BD coloca o valor default:NUMBER(2) default 0"

depois o parametro: “updatable = true” é para poder mudar o valor do Delete_flag para “1” no futuro, caso necessario.

Espero ter ajudado

Eu sei que ja ta resolvido mas eu vou postar como EU tive que fazer porque o meu mapeamento eh em XML

O principio é o mesmo … (insert=“false”)

e no banco eu adicionei o valor default