J'ai un problème avec la façon dont hibernate/JavaBeans construit les noms de propriétés.Problème de capitalisation du nom de propriété Hibernate
Voici ma propriété.
private boolean aNumberFl;
@Column(name = "aNumberFl", nullable = false)
@Type(type = "yes_no")
public boolean getANumberFl()
{
return aNumberFl;
}
public void setANumberFl(boolean var)
{
this.aNumberFl = var;
}
Tout va bien, sauf pour la mise en veille prolongée fait en interne pense mes noms de propriété est ANumberFl plutôt que aNumberFl. Les conventions JavaBean vérifient les deux premiers caractères de la propriété getter (après le get) et s'ils sont tous les deux des majuscules et ne sont pas décompactés pour obtenir le nom de la propriété. Cependant, cela est incompatible avec mon nom de champ qui a un minuscule. Tout cela est autorisé dans le monde JavaBean mais avec un champ appelé aNumberFl
ou ANumberFl
donnerait le même nom de getter. Cela signifie que lorsque la méthode get est la source, elle doit choisir l'une de l'autre et choisit cette dernière.
J'ai essayé de déplacer les annotations sur le terrain mais cela a causé d'autres problèmes que je ne vais pas aborder maintenant, et je ne suis pas sûr que ce soit une bonne idée de toute façon.
Est-il possible de surcharger le nom de la propriété par défaut que hibernate déduit du nom de la méthode getter?
Merci.