ondrejvelisek / events-shop

Project for PV243: Advanced JavaEE Java course at Faculty of Informatics MU
2 stars 1 forks source link

JPA2 - repository layer #1

Open ondrejvelisek opened 7 years ago

mtravnicek commented 7 years ago

ahoj @javorka nebudes uz mit to API, plus budes nejak aktualizovat ty entity?

mtravnicek commented 7 years ago

@ondrejvelisek @javorka tak jsem narychlo upravil ty entity, jak mam sakra udelat tu novou branch... uz si to nepamatuju.... kdyztak mi napiste nekdo prikazovou radku.... push -u origin branch?

jop jeste krome te struktury se mi moce nelibi ty cele nazvy teda events-shop/evenstshop-reposiotory atd dal bych jen events-shop/repository atd

ondrejvelisek commented 7 years ago

git branch new-branch-name

Jinak git ma excelentni dokumentaci. ;-) https://git-scm.com/book/en/v2

Nazvy klidne zkrat. Taky sem nad tim uvazoval.

mtravnicek commented 7 years ago

dobry no tak to mas nahrane...

ondrejvelisek commented 7 years ago

Pullrequest https://github.com/ondrejvelisek/events-shop/pull/16

cypo721 commented 7 years ago

Implementacia v https://github.com/ondrejvelisek/events-shop/pull/13

ondrejvelisek commented 7 years ago

Super. Mergnul jsem to. Works like a charm (i mvn wildfly:run, mrkni na koment k cleanup commitu a mergnuti). :-)

Jenom by bylo dobre trosku promyslet rozhran vyjimeki. Byl bych pro aby metody getById hazely vyjimky, misto null. S tim souvisi, ze REST ted vrati response code 204, kdyz entita neexistuje. Podobne pokud nova entita ma duplicitni klic, tak vyleti vyjimka z JPA2. To by chtelo premalit na nase vlastni vyjimky at pak nekde na restu nevytvarime zavistlost na JPA.

jinak v Class Event tohel je opravdu sprave?

@ManyToMany
private List<EventService> eventServices;

Many to Many? Nechceme tam OneToMany? @javorka ?

ondrejvelisek commented 7 years ago

Jetse me napada. Co place/adresa/mesto k eventu? @javorka ? Budes to tam pridavat?

ondrejvelisek commented 7 years ago

Dalsi vec. :-D Kdyz budes mit ca a chut. Nechces jeste trosku poladit persitence pom.xml? Jsou tam zavislosti na jboss uplne zbytecne. Lze pouzit standardni genericke moduly java EE 7 ;-) Navic nektere mi tam prijdou uplne zbytecne. EJB? JUnit? interceptors?

ondrejvelisek commented 7 years ago

Hosi jak ste to zkouseli? Nejde mi persistovat zadny entity. Haze to vzdycky neco jako:

SqlExceptionHelper: NULL not allowed for column "DATEEND"; SQL statement:
insert into AbstractEntity (description, name, DTYPE, id) values (?, ?, 'Category', ?)

Ale Category zadnej dateend nema. Podobne mi to hlasi u vytvareni Usera column "DESCRIPTION". Vam to fungovalo? Co delam blbe?

mtravnicek commented 7 years ago

@javorka @ondrejvelisek @cypo721 ahoj tak jsem zrovna narazil na tu stejnou chybu viz muj aktualni branch "testy" ale nejedou kvuli problemuy s tema transakcema... daji se tam teda rozjet testy a je tam i nejaky POM co se da pouzit... plus zkusil okolo par fixu funguje to teda tak ze kdyz se da "mvn clean test" ve podslozce persistence tak by to melo umet samo stahnout a spustit ten WildFly vylozene na testy...jinak to potrebuje bud bezici server nebo nakonfigurovany pres JBOSS HOME Co jste tady resili vcera nechapu a nestiham, wildfly:run, depoly atd snad normalne funguje pres ten widlfly maven plugin .... ale ta API DAO vrstva je rozbita a nefunkcni.... halooo ja mam delat jen testy, resp. si s timto asi neporadim

ondrejvelisek commented 7 years ago

Uz sme prisli na to cim to je. V AbstractEntity je potreba zmenit anotaci @Entity za @MappedSuperclass

mtravnicek commented 7 years ago

ok du si to spravit, paralelne jsem dostal tuto odpoved: "problem mas v tom, ze ste si tam drbli tu AbstractEntity a hibernate si mysli,ze to je tabulka..." -)

ondrejvelisek commented 7 years ago

Paradicka :-)

mtravnicek commented 7 years ago

@cypo721 Hoj prekopal jsem testy aby jely pres vlastni transakce, neco jako se pise tady i kdyz to neni uplne relevantni...proste aby se nemuselo pridavat @Transactional na dao.....a bude na Facade.... https://stackoverflow.com/questions/29599974/arquillian-transaction-is-required-to-perform-this-operation Pak je jeste patrne ke spravnemu fungovani testu potreba nastavit @GeneratedValue(strategy = GenerationType.IDENTITY) na ID u Entit... nahraju hotovou funkcni verzi nekdy navecer....