Fórumok

portlet kapcsolódása adatbázishoz

Adrian Szlama, módosítva 14 év-val korábban

portlet kapcsolódása adatbázishoz

New Member Bejegyzések: 3 Csatlakozás dátuma: 2010.01.14. Legújabb bejegyzések
Kedves Tagok!

Egyelőre még kezdő vagyok Liferay témában, eddig csak Websphere portal-lal foglalkoztam. Adódott egy kis problémám, amin sehogy sem sikerül túljutnom, remélem valaki tud tanácsot adni a megoldást illetően. Tehát ami a problémám lenne:
Netbeans 6.8-at használok portal pack 3.0.2-vel a portletek fejlesztéséhez. Létrehoztam egy mysql adatbázist, amihez csatlakoztam a glassfish-sel. Netbeansben is beállítottam az adatbáziskapcsolatot. Létrehoztam az adatbázisban egy táblát néhány adattal. Ezekből létrehoztok entitásokat egy portlet projektben az Entity Classes from Database varázslóval. Ezután létrehoztam egy jpa controller osztályt ehhez az entitáshoz. Amikor példányosítom a controllert, még nincs probléma, de ha meghívom egy függvényét (pl lekérem az egyik elemet id alapján), akkor hibát dob a portlet.

PSPL_PAECSPPA0015 : RuntimeException occured while processing portlet request
java.lang.IllegalArgumentException: Unknown entity bean class: class com.test.TransGood, please verify that this class has been marked with the @Entity annotation.

A kérdésem az lenne, hogy mi a bevett módszer ilyen esetben, hogyan kell egy portletből elérni egy adott táblát és azt használni, vagy esetleg ha valaki le tudna írni egy rövid tutorialt, hogy miként kell előállítani egy ilyen portletet, az nagy segítség lenne.

A válaszokat előre is köszönöm:
Szlama Adrián
Vilmos Papp, módosítva 2 hónap-val korábban

RE: portlet kapcsolódása adatbázishoz

Regular Member Bejegyzések: 131 Csatlakozás dátuma: 2009.05.04. Legújabb bejegyzések
Szia!

Először is üdv. a közösségben :-)

Másodszor:

A NetBeasnt a 3.6-os óta nem használtam, azóta eclipse :-) így a portal packhoz sem tudok mit szólni, viszont ha Liferay, akkor plugins-sdk-ban vagy EXT envirionmentben tudsz könnyen portleteket fejleszteni.

Az EXT segítségével a Liferay mélyebb részeit (portal-impl) is el tudod érni, Plugin SDK-ban ez nem megoldott amennyire én tudom. Mind a kettőben van lehetőséged Service Builder használatára. Az arra jó, hogy egy service.xml fájlban leírod milyen tábláid vannak, milyen findereket akarsz hozzá használni (pl.: van egy MyUsers táblád és születési hely szerint szeretnél keresni rájuk). Ezután Apache ANT használatával tudod ebből legeneráltatni a DAO és Service és az Impl osztályokat és Interface-eket is. Ezen kívűl a generátor az SQL scriptetket is megcsinálja, amely a táblát és az indexeket is meg csinálják, ráadásul amint először deployolod a portletedet elkészül a táblád és az indexei is. A generált Service-ek segítségével (MyUsersLocalServiceUtil.java a fenti példára tekintettel) tudsz adatbázis poolon keresztül hibernattel adatokat lekérdezni, létrehozni, módosítani és törölni.

Ha a dolog felkeltette az érdeklődésedet, akkro a Wiki-ben keress rá Service Builderre, valamint a plugin sdk-s SVN-ből töltsd le az SO portletet és nézd meg annak a forráskódját, ott van minta service.xml is.

Ha kérdésed van, akkor kérdezz nyugodtan :-)

Üdv.

Vili
Adrian Szlama, módosítva 14 év-val korábban

RE: portlet kapcsolódása adatbázishoz

New Member Bejegyzések: 3 Csatlakozás dátuma: 2010.01.14. Legújabb bejegyzések
Szia,

köszönöm a gyors választ, mindenképpen kipróbálom az általad ajánlottakat.

Adrián
Vilmos Papp, módosítva 2 hónap-val korábban

RE: portlet kapcsolódása adatbázishoz

Regular Member Bejegyzések: 131 Csatlakozás dátuma: 2009.05.04. Legújabb bejegyzések
Mostanában elég sok portletet kellett csinálnom. És ez a metódus elég gyors fejelesztést eredményezett. Pl.: ki/belépések számának figyelése és naplózása adatbázisba.