OVH Cloud OVH Cloud

Hibernate : valeur par défaut d'une colonne

1 réponse
Avatar
secur
Bonjour,

Avec Hibernate, existe-t-il un moyen de spécifier une valeur par
défaut à utiliser pour une propriété si celle-ci est null dans la base
de données?

Par exemple, on dispose de la classe suivante :

/**
* @hibernate.class table="Users"
*/
public class user {

...

private boolean logicDeleted = false;

...

/**
* @hibernate.property
*/
public boolean isLogicDeleted() {
return connected;
}
public void setLogicDeleted(boolean value) {
logicDeleted = value;
}
}

Si dans la table users on dispose d'un enregistrement dont
logicDeleted est null, la lecture Hibernate de cet enregistrement
plantera (chez moi).

Hibernate semble utiliser un système proxy CGLIB pour faire le
mapping. Est-ce que la solution se situe à ce niveau?


Merci,


Nicolas

1 réponse

Avatar
Mehdi KASMI
Il est possible de créer un customer tag:
inspire toi de ce qui est fait pour faire persister des boolean en char ...
http://www.hibernate.org/189.html



"Nicolas ROBERT" a écrit dans le message de
news:
Bonjour,

Avec Hibernate, existe-t-il un moyen de spécifier une valeur par
défaut à utiliser pour une propriété si celle-ci est null dans la base
de données?

Par exemple, on dispose de la classe suivante :

/**
* @hibernate.class table="Users"
*/
public class user {

...

private boolean logicDeleted = false;

...

/**
* @hibernate.property
*/
public boolean isLogicDeleted() {
return connected;
}
public void setLogicDeleted(boolean value) {
logicDeleted = value;
}
}

Si dans la table users on dispose d'un enregistrement dont
logicDeleted est null, la lecture Hibernate de cet enregistrement
plantera (chez moi).

Hibernate semble utiliser un système proxy CGLIB pour faire le
mapping. Est-ce que la solution se situe à ce niveau?


Merci,


Nicolas