Dobry den,
prichazim asi s krizkem po funuse, protoze jste to uz vyresili,
nicmene si dovolim par poznamek:
1) entita muze byt potomkem jine entity:
@Entity
@Table(name = ZAKAZKY)
public class Zakazka implements Serializable {
@Id
@Column(name = ZAKAZKA)
private Integer zakazka;
Taky jsem si myslel, ze by to takto melo fungovat, ale ve spojeni s
Hibernate to tak bohuzel neni. Jedine funkci reseni bylo mit tridu
ZakazkaAbstract s anotaci MappedSuperclass a od ni odvodit base entitu
Zakazka a rozsirenou ZakazkaRozsirena, kde obe tyto entity maji anotaci
Entity a Table.
Dobry den,
protoze jste neuvedl jake mate mapovaci soubory pak velmi spatne muzeme
odhadnout kde je problem, ale rozhodne nebude v
kodu Hibernate, protoze pokud byste mel mapovani spravne, pak hibernate umi
dotaz takovy jaky je, dokonce natahne jak
zakazky tak rozsirene zakazky a vsechny se
Zdravim,
neviem, co to s tym suvisi, ale tu:
q.addEntity (entity.Zakazkyy.class);
mate preklep, mate Zakazkyy namiesto Zakazky
ya
Karel Nagy wrote / napísal(a):
Dobry den,
v desktopove aplikaci pouzivam jako persitence API Hibernate. Pro
ziskavani dat pouzivam SQLQuery - "cisty" SQL
Peclive jsem vse zkontroloval a opravdu mam namapovane vsechny sloupecky.
Mapovani sloupecku provadim pomoci anotaci v entite.
Konfigurace Hibernate projde. Pokud zakomentuji radek mapping
class=entity.ZakazkaRozsirena/, tak vse funguje, pokud tam neni
zakomentovany, tak program spadne (Column
To je pouze chyba v prepisovani do mailu. V kodu jsou vsechny nazvy dobre.
Karel
Ján Valkovič napsal(a):
Zdravim,
neviem, co to s tym suvisi, ale tu:
q.addEntity (entity.Zakazkyy.class);
mate preklep, mate Zakazky*y* namiesto Zakazky
ya
Ahoj,
proc to proboha delate tak slozite pres mapovani a SQL?
Vzdyt to jde udelat primo v HQL:
select new ZakazkaRozsirena (zakazka, select max(oceneni.cena) from
zakazka.oceneni oceneni)
from Zakazky zakazka
Kde:
ZakazkaRozsirena konstruktor: public ZakzkaRozsirena(Zakazka zakazka,
Vim a mate pravdu, ale bohuzel se predelava pouze cast IS a musi byt
zachovana funkcnost puvodniho. V nem jsou napr. uzivatelse filtery
ulozeny jako cisty SQL.
Karel
Lukas Barton napsal(a):
Ahoj,
proc to proboha delate tak slozite pres mapovani a SQL?
Vzdyt to jde udelat primo v HQL:
Ahoj,
jeste dodatek.
To nize uvede mapovani neni mapovani dedicnosti.
A taky anotace pro mapovani se nededi. Takze by to stejne nemohlo
fungovat.
Tak jak to tam mate uvedene, tak mapujete dve Entity:
* Jedna ma sloupce NAZEV a ZAKAZKA.
Druha ma sloupce MAX_CENA.
*
Jak spravne mapovat
Diky za odkazy - jsou prinosne.
Jako vysledek badani a zkouseni jsem pridal anotaci @MappedSuperclass
entite Zakazka a vse zacalo fungovat jak ma. Trida ZakazkaRozsirena
mohla zustat tak jak je (nebylo ani nutne pouzit anotaci
AttributeOverride). Co znamena, ze se anotace pro mapovani nededi?
Ta query je polymorfni a vy nemate v ResultSetu sloupce pro vsechny potomky.
Udelejte si predka AbstraktZakazky, ktery bude mit stejne mapovani jako
Zakazky a pak ze Zakazky a ZakazkyRozsirene udelejte jeho potomka.
Potom ta query na Zakazky nebude polymorfni a bude fungovat.
Lukas
Karel
Entita Zakazka ma vsechny sloupecky tabulky ZAKAZKY, az teprve
ZakazkaRozsirena ma vice sloupecku v SQL - zaroven jsou tyto sloupecky
zahrnuty i s mapovanim v entite ZakazkaRozsirena.
Jeste je zajimave, ze chyba, kterou to vypisuje je
org.firebirdsql.jdbc.FBSQLException: Column name DTYPE not
12 matches
Mail list logo