2010-02-15 4 views
4

Je voudrais créer quelques classes qui sont dans l'emballage d'une carte de paire valeur/clé. Quel est le meilleur appoarch pour récupérer ou stocker ces classes dans une base de données en utilisant hiberate? Quelles sont les bonnes annotations d'hibernation pour faire le travail?Mise en œuvre de la mise en veille et de la paire valeur/clé

Sur la base de données, je me attends à cette formation de données

class1, field1, value1 
class2, field2, value2 
class1, field2, somevalue1 
... 

Du côté java, je peux avoir

@Table("some_db_table") 
class KeyValuePairs { 

    private HashMap<String, String> map; 
... 
} 

class Class1 extends KeyValuePairs { 
    private Stirng id = "class1"; 
... 
} 

class Class2 extends KeyValuePairs { 
    private Stirng id = "class2"; 
... 
} 

Répondre

1

Je suppose que vous avez une implémentation ready-made ici http://www.java2s.com/Code/Java/Hibernate/HibernateCollectionMappingMap.htm

Vérifiez si c'est utile (Vous pouvez créer vos sous-classes comme vous l'avez mentionné)? Cela génère deux tables, ce qui est une bonne pratique puisque vous voulez conserver votre clé primaire qui n'est pas utilisée pour la logique métier. Si vous ne le voulez pas, vous pouvez toujours le modifier.