One-To-Many deprecated

nocturne

Bekanntes Mitglied
Moinsen,

wir setzen ein externes tool für das Designen mit über 20000 tabellen ein. Die erstellten Beans haben deprecated-Meldungen bei one-to-many-gettern.
 

Anhänge

  • test2.jpg
    test2.jpg
    41,6 KB · Aufrufe: 40
  • test.jpg
    test.jpg
    94,7 KB · Aufrufe: 45
Zuletzt bearbeitet:

brauner1990

Bekanntes Mitglied
Das kann doch nicht sein. Man kann doch nicht einfach diese Basis Klasse deprecated machen und hats bestimmt auch nicht gemacht. Wenn diese Klasse in eine ManyToOne geändert werden müsste, dann erklär mir mal bitte wie ich dann eine OneToMany abbilden soll...Und bei Oracle steht davon nix soweit ich gesucht/gefunden habe.

Ich ich glaube ehr, es handle sich um eine Funktion die du nutzen willst, welche von einem anderen Programmer als @deprecated gesetzt wurde.
 

nocturne

Bekanntes Mitglied
OK, ich habs gelöst.

Normalerweise muss man mit Hibernate doch

Java:
auto.getPersons().add(peter);
peter.setAuto(auto);
transaction.commit();

Schreiben. Weil das oft vergessen wird, hat der EDBD die erste Zeile in die zweite gekapselt.

Es lag ab dem häckchen "double linked".


Eigentlich Genial. Scheisse nur wenn man doof ist.
 
M

maki

Gast
Sehe das nicht als "genial" an, eigentlich "normal" dass die "owning side" sich um die konsistenz kümmert.
Was mir nicht gefällt ist die Tatsache, dass man den Setter als Deprecated kennzeichnet (in frisch generiertem Code), wenn er doch weggelassen werden sollte.
 

nocturne

Bekanntes Mitglied
Sehe das nicht als "genial" an, eigentlich "normal" dass die "owning side" sich um die konsistenz kümmert.
Was mir nicht gefällt ist die Tatsache, dass man den Setter als Deprecated kennzeichnet (in frisch generiertem Code), wenn er doch weggelassen werden sollte.
Du meinst den Getter?



1. Die Beans kann man ja von SelectItem (Richfaces) ableiten. So kann man

<selectOne value=#{auto.fahrer}>
<selectItems values=#{auto.persons}/>
</selectOne>

Schreiben. Daher finde ich gut das der Getter noch da ist.

2. Das würde ohne getter doch gegen Bean-Richtlinien verstossen.
3. Mir hat die Aussage "Please use ...." sehr geholfen. Ich finde deprecated im sinne von "abgelehntes vorgehen" in ordnung.
 
Zuletzt bearbeitet:

brauner1990

Bekanntes Mitglied
Wenn etwas deprecated ist, also zu deutsch veraltet, wurde es überarbeitet und somit erneuert. Es sollte also die erneurte Methode auch angeboten werden finde ich.
 
M

maki

Gast
JavaBeans sind nicht immer passend, Entites werden sonst zu Dummen Datencontainern, nicht zu intelligenten Objekten.
Alles zu JavaBeans zu machen widerspricht den OO Prinzipien.
"Deprecated" steht in diesem Zusammenhang für "veraltet", keine gutes Zeichen imho bei frisch generiertem Code, bevor man dem Entwickler eine Möglichkeit bietet die er nicht nutzen sollte, gibt man sie ihm lieber nicht, kenne aber die Zwickmühle bei bidirektionalen Beziehungen.

Klar kann man mal gegen Konventionen/Prinizipien verstossen, muss halt immer abwägen, kommt eben darauf an, bei ORMs erstellt man normalerweise zuerst die Klassen, das DB Schema wird generiert, wenn man es umgekehrt macht, landet man zwangsläufig bei einer weniger OOAD Abstraktion, sondern einer Datenzentrierten, muss aber nicht schlecht sein in bestimmten Fällen.
 

brauner1990

Bekanntes Mitglied
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben