J'ai un fichier XML et dans lequel j'ai des paires de valeur clé.Je veux les stocker sous forme de paires de la valeur clé maintenant je ne sais pas combien de valeur clé sera Venir de xml à l'avance.Comment-je le mapper pour hibernate objet?
Je peux le stocker dans la table dans P> Comment puis-je mapper pour hiberner objet?
Je veux suivre la structure
Classe parent {
int parentid;
Nom de parent de cordes
Keyvalue keyval; // comment puis-je le modeler? P> } p> suis à l'aide de NetBeans IDE. P> P>
3 Réponses :
Vous pouvez en effet utiliser une carte: Vous devez également avoir une contrainte unique sur [parent_id - clé] code>. p> p>
Peut-il être fait avec une carte
Pourquoi avez-vous besoin de ce @ID dans KeyvaluePair? Pour la clé primaire, le naturel serait le composite du parent_id et de la clé.
Vous pouvez également planer directement sur une table sans créer une classe KeyValuePair
pour une propriété de carte avec les paires de la valeur de clé stockées dans my_map_table et définie comme une propriété nommée "Paramètres": P>
Définir La propriété: p> et la table pour stocker la carte: p>
Si KeyValuePair est strictement détenue par le parent, la meilleure approche serait la suivante:
@Entity
public class Parent {
@Id
@GeneratedValue
private long id;
@ElementCollection(fetch=FetchType.EAGER)
@MapKeyColumn(name="key")
@CollectionTable(name="keyvaluepair", joinColumns= @JoinColumn(name="id"))
private Map<String, KeyValuePair> keyValuePairMap =
new HashMap<String, KeyValuePair>();
//getter and setter methods
}
@Embeddable
public class KeyValuePair {
//no need of declaring key
//key column will be created by MapKeyColumn
private String value;
//getter and setter methods
}