# Property Hinzufügen



## RayBADING (14. Jul 2011)

Hallo erstmal 
Ich habe ein kleines Problem:
Ich habe eine Datenbank vor mir, in der ich mich momentan noch nicht so besonders auskenne.
Das ganze läuft über einen Server der im Keller steht, aber das ist nicht mein Problem.
Ich habe eine Tabelle in die ich die Daten eintrage was auch super funktioniert.
ABER um das ganze übersichtlicher zu machen würde ich gerne noch eine Spalte hinzufügen, mit der ich die ganzen daten gut übersichtlich nummerieren kann. Alle Spalten sind mit einer Property angeführt. Aber selber habe ich keine ahnung wie ich eine Property richtig hinzufügen kann. 
Ich hab in google etc nichts dazu gefunden. 
wäre nett wenn mir jemand helfen könnte


----------



## Marcinek (14. Jul 2011)

Welche Datenbank?
Nutzt du Hibernate?

Wie sehen deine Mappings aus?

Sorry, meine Glaskugel ist schon wieder kaputt.


----------



## turtle (14. Jul 2011)

> gut übersichtlich nummerieren



Das ist für mich nicht eindeutig. 

Nehmen wir an, Du hast eine Tabelle 'Benutzer' mit der Spalte 'Name'. Was heisst hier nummerieren? Bekommt jeder Eintrag in der Tabelle einen eindeutigen Schlüssel, oder ist die Nummerierung für die Client-Seite gemeint? Wenn letzteres, schlage ich vor, das zu lassen und stattdessen ein 'order by' in SQL durchzuführen, Denn, wenn zwei Clients eine Abfrage machen, bekommen diese die selbe Nummerierung? Hört sich für mich an, als wenn Du die recNum  der DB ausgeben solltest. Dies ist aber von der eingesetzten DB abhängig, die Du nicht erwähnst.


----------



## frapo (14. Jul 2011)

RayBADING hat gesagt.:


> Hallo erstmal
> Ich habe eine Datenbank vor mir, in der ich mich momentan noch nicht so besonders auskenne.



Weißt Du wenigstens was für eine Datenbank das ist (MySQL, DB2, MSSqlServer etc.)?

Was Du mit _Alle Spalten sind mit einer Property angeführt_ meinst kann ich nicht nachvollziehen allerdings kann ich Dir sagen, dass Du mit 
	
	
	
	





```
ALTER TABLE...
```
 eine Spalte zu Deiner Tabelle hinzufügen könntest. Einfach mal in die SQL-Doku Deines DB-Systems nachschauen.

Gruß
frapo


----------



## RayBADING (14. Jul 2011)

Danke für die vielen schnellen Antworten 
Also Hibernate wird verwendet und SQL auch.
Die Datenbank wird für Testdaten von einem Prüfstand verwendet.
Aktuelle Spalten sind Material der Probe, Datum der Prüfung und Werkzeug.
Es kommen bei jeder Prüfung 4 Werte in die Tabelle und da bei (momentan noch) jeder Prüfung das gleiche Werkzeug verwendet wird kann ich das nicht ordnen weil ich dann nicht weis welche ergebnisse zu welcher prüfung gehören :S
Dewegen würde ich gerne jeder Prüfung einen Namen geben (z.B PN1, PN2....) um das ordentlich zu haben.
Das Material, Datum und das Werkzeug sind in der Datei: Test.dyn.xml mit einer Property angeführt.


PS: @Marcinek: Glaskugel-Reperatur Angebote gibts unter www.machmeineglaskugelwieneu.com


----------



## frapo (14. Jul 2011)

RayBADING hat gesagt.:


> ...wird verwendet und SQL auch.



Nochmal die Frage: welches DB-System verwendest Du?


----------



## RayBADING (14. Jul 2011)

frapo hat gesagt.:


> Nochmal die Frage: welches DB-System verwendest Du?



SQL


----------



## frapo (14. Jul 2011)

Sehr lustig 

Ist Dir klar, dass es unzählige SQL-Datenbanksysteme gibt? Mit teilweise riesigen Unterschieden?


----------



## RayBADING (14. Jul 2011)

postgresql-8.3.11-1


----------



## Marcinek (14. Jul 2011)

Dann würde ich mal bei hibernate.org die Dokumentation für das Mapping nachlesen.

:rtfm:


----------



## frapo (14. Jul 2011)

Hier findeast Du ein kleines Tutorial, das beschreibt wie Du ein schema upgrade hinbekommst.

Viel Erfolg


----------



## maki (14. Jul 2011)

Würde dir empfehlen dich zuerst in RDBMS einzuarbeiten bevor du dich auf ein ORM stürzt, denn du musst auch mit ORM immer noch verstehen wie ein RDBMS funktioniert.


----------



## RayBADING (14. Jul 2011)

Ist es tatsächlich so schwer einfach nur eine Spalte hinzuzufügen wo ich frei wählen kann was eingetragen wird?


----------



## turtle (14. Jul 2011)

Nein
ALTER TABLE DeineTabelle ADD COLUMN DeineBeschreibung varchar(255);


----------



## maki (14. Jul 2011)

RayBADING hat gesagt.:


> Ist es tatsächlich so schwer einfach nur eine Spalte hinzuzufügen wo ich frei wählen kann was eingetragen wird?


Nein, es ist total simpel 

Feld in der Db hinzufügen, in der Entity und im Mapping.

Die Tatsache dass du diese Frage und andere stellst zeigt aber, dass du eigentlich noch nachholbedarf bei den Grundlagen hast.

Wie gesagt, um ein ORM richtig einsetzen zu können, muss man u.a. RDBMS vestehen, und natürlich wie Object-Relational Mapping funktioniert.
Bei ORM geht es um Bequemlichkeit, nicht alles selber von Hand machen zu müssen, das befreit einen aber nicht davon das man bestimmte Dinge verstehen muss.


----------



## frapo (14. Jul 2011)

RayBADING hat gesagt.:


> Ist es tatsächlich so schwer einfach nur eine Spalte hinzuzufügen wo ich frei wählen kann was eingetragen wird?



Nein! Das habe ich aber schon ganz oben geschrieben: 


> ...dass Du mit ALTER TABLE... eine Spalte zu Deiner Tabelle hinzufügen könntest. Einfach mal in die SQL-Doku Deines DB-Systems nachschauen.



Alles weitere hat aber maki schon gesagt.


----------



## RayBADING (14. Jul 2011)

Ich hab noch viel viel nachholbedarf das weis ich 
Das größte problem ist das die Datenbank wer anderer erstellt hat und ich mich noch nicht viel allgemein mit Java beschäftigt habe. Aber trotzdem Danke 
EDIT:
<?xml version="1.0" encoding="UTF-8"?>
<type>
 <properties>
  <property name="material" label="Material"/>
  <property name="datum" label="Datum"/>
  <property name="testgeraete" label="Testgerte"/>
  <property name="Plint" label="Plint"/>
 </properties>

 <toString>
  <format>%s, %s</format>
  <parameter property="material"/>
  <parameter property="datum"/>
 </toString>
</type>

Sobald ich irgendwo einen Eintrag mache Startet der Client nichtmehr


----------



## frapo (14. Jul 2011)

Was genau versuchst Du denn wo einzutragen? 

Das Statement 
	
	
	
	





```
ALTER TABLE ...
```
 doch etwa nicht?


----------



## RayBADING (14. Jul 2011)

Ich versuche vor der "Material" Spalte eine Spalte einzufügen


----------



## frapo (14. Jul 2011)

Gibt es irgendeine Fehlermeldung? 

Hast Du die Spalte mittlerweile der Tabelle 'von Hand' hinzugefügt oder hast Du Dich an obiges Tutorial gehalten?


----------



## RayBADING (14. Jul 2011)

Nein leider nicht, das Programm startet einfach nicht mehr.
Das hinzufügen einer weiteren Spalte mithilfe der property funktioniert einwandfrei :S


----------



## frapo (14. Jul 2011)

RayBADING hat gesagt.:


> Nein leider nicht, das Programm startet einfach nicht mehr.



Das Programm kennt nun leider keiner hier. So kann man wohl auch nicht viel dazu sagen.


----------

