2017-10-03 1 views
1

Wie speichert man die Entität mit Hibernate?Hibernate: Speichern Sie eingebettete Karte von primitves

@Entity 
class A { 
    private Map<String, String> b; 

    // getters and setters omitted 
} 
+0

'@ ElementCollection'. Siehe [diese Antwort] (https://stackoverflow.com/a/3393780/5449250) –

+0

Mögliches Duplikat von [Speichern einer Map mit JPA] (https://stackoverflow.com/questions/3393649/storing -a-mapping-string-using-jpa) –

Antwort

0

Werfen Sie einen Blick auf @ElementCollection

Beispiel Nutzung:

@Entity 
public class User { 

    public String getLastname() { ...} 

    @ElementCollection 
    @CollectionTable(name="Nicknames", [email protected](name="user_id")) 
    @Column(name="nickname") 
    public Set<String> getNicknames() { ... } 
} 
0

Speichern Mit

Hier ein Beispiel:

A variable = new A(); 
variable.b(your_variable); 

Dann

session.save(varible); 

kann verwendet werden. Oder Sie beabsichtigen, in einer Datenbank durch den Speicher zu speichern? wird dann so:

SessionFactory factory=cfg.buildSessionFactory(); 
    Session session=factory.openSession(); 
    Transaction t=session.beginTransaction(); 
    A e1=new A(); 
    e1.setb(your_variable); 
    session.persist(e1); 
    t.commit(); 
    session.close(); 

Erwähnung: Ihre Namensgebung ziemlich schlecht ist. Du solltest etwas anderes machen!

Mit der Annotation @ElementCollection können Sie auch Sammlungen java.util.Map verwenden. In der Erklärung Ihrer Klasse (in Ihrem Fall, A).