JPA: Bean für Datenbankzugriff

Stroker89

Bekanntes Mitglied
Hallo liebe Leute,

im Moment sieht mein kleines Testprojekt so aus:

Kleine Datenbank mit einer Tabelle die 3 Spalten hat: ID, Vorname, Nachname
Habe mir dazu auch schon das Persistance Model erstellen lassen von JPA
Desweiteren hab ich ein kleines Servlet was im moment noch nicht viel macht, ausser den ersten Eintrag aus der Tabelle zu lesen. So weit so gut...

Ich möchte ein Bean erstellen das einen neuen Eintrag in die Tabelle schreiben soll aber ich weiß nicht wo ich ansetzen soll :( kann mir vlt jemand von euch ein bisschen unter die Arme greifen?
Was für ein Bean sollte es sein? Es soll nur eine Funktion enthalten, der ich Vorname und Nachname übergeben kann und diese ich von dem Servlet aus aufrufen kann.


Viele Grüße Martin
 
G

Gelöschtes Mitglied 5909

Gast
Ich versteh das Problem nicht? Du hast doch ein Bean zum auslesen.
Jetzt erzeugst du von genau dem gleichen Bean eine neue Instanz (mit new) und machst entityManager.persist(bean)
 

Stroker89

Bekanntes Mitglied
Nein ich haben eben noch kein Bean :) ich mach die Mysql Abfrage direkt im Servlet. Aber ich möchte einen Bean haben um neue User anzulegen :)

Hier mal das Model falls es hilft:

Java:
package model;

import java.io.Serializable;


import javax.persistence.*;


/**
 * The persistent class for the users database table.
 * 
 */
@Entity
@Table(name="users")
public class User implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name="ID")
    private int id;

    @Lob()
    @Column(name="Nachname")
    private String nachname;

    @Lob()
    @Column(name="Vorname")
    private String vorname;

    public User() {
    }

    public int getId() {
        return this.id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNachname() {
        return this.nachname;
    }

    public void setNachname(String nachname) {
        this.nachname = nachname;
    }

    public String getVorname() {
        return this.vorname;
    }

    public void setVorname(String vorname) {
        this.vorname = vorname;
    }
    
}

Gruß und vielen Dank :)
 
G

Gast2

Gast
1. das lob kannst du dir sparen, ein name ist kein "large object"

Nur als Randnotiz: Im "logischen" Sinne stimme ich Dir zu. Allerdings hängt das von seiner DDL ab. Wenn die Namens-Felder dort als TEXT deklariert sind, ist die Lob-Notation absolut korrekt. Der nützliche Hinweis hier sollte sein, die Namensfelder im Datenbankmodell als VARCHAR mit passabler Grösse zu kreiren, dann erübrigt sich auch @Lob.
 

Stroker89

Bekanntes Mitglied
Richtig sind als TEXT in der Datenbank. Danke für den Hinweis werde sie als VARCHAR umändern.
Habs inzwischen auch hinbekommen mein einem Session Bean einen User in der Tabelle anzulegen :)

Danke :)
 

Ähnliche Java Themen


Oben