Étant donné plusieurs entités Hibernate dans différents paquets d'une grande application, je tiens à m'assurer qu'il n'y a pas de conflits de nommage. Par exemple. il peut y avoir un Person
-Entity dans le paquet foo et un autre Person
-Entity dans la barre d'outils.Spécifique au package Hibernate NamingStrategy
Maintenant ces deux entités devraient carte aux noms de table comme ceci:
foo.Person --> FOO_PERSON bar.Person --> BAR_PERSON
je pourrais utiliser la table annotation @ pour y parvenir:
@Table(name="FOO_PERSON")
public class Person ...
@Table(name="BAR_PERSON")
public class Person ...
Cependant, je voudrais utiliser une sorte de NamingStrategy, qui le fait automatiquement. Hibernate propose l'interface org.hibernate.cfg.NamingStrategy
. J'ai essayé d'étendre le DefaultNamingStrategy
, cependant (malgré la documentation indiquant le contraire) vous obtenez seulement le nom non qualifié de la classe et donc aucune information sur le nom du paquet.
Il existe un problème JIRA (http://opensource.atlassian.com/projects/hibernate/browse/HHH-4312) à propos de ce problème. Étant donné que c'est ouvert depuis 2007, je suis à la recherche d'une approche de travail ou totalement différente. Des idées?
Un dialecte personnalisé pourrait-il faire l'affaire? – martin