Child pages
  • Entity bean
Skip to end of metadata
Go to start of metadata

Csináltam egy nagyon egyszerű entity bean-t:

package hu.mag.ejb.lib;

import java.io.Serializable;
import javax.persistence.*;

@Table(name="user")
@Entity
public class user implements Serializable{
 
 private int id;
 private String account;
 private String name;
 
 @Id
 public int getid(){
  return this.id;
 }
 
 public void setid(int id){
  this.id=id;
 }
 
 public String getname(){
  return this.name;
 }

 public void setid(String name){
  this.name=name;
 }
 
 public String getaccount(){
  return this.account;
 }

 public void setaccount(String account){
  this.account=account;
 }

}

Ezt lefordítottam jar-a és betettem a jboss deploy könyvtárba amikor elindítottam még észre sem vette hogy ott van talán valamit nem írtam bele vagy kimaradt egy deploy fájl?De EJB3 alatt nem kötelezől deploy fájl használata azért vannak az annotációk nem??
Mi lehet a gond mert így még hibát sem ír ki hogy mi a baja!

      
      
Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels

33 Comments

  1. Mi a JBoss verziója?
  2. Ha 4-es JBossal akarsz EJB3-at hasznalni, akkor azt kulon le kell tolteni (a letolteseknel ez meg van emlitve, es link is van hozza). Majd 5-os JBossban lesz defaultbol EJB3. Mar csak az a kerdes, h mikor jon ki.
  3. De ha stateless vagy stateful bean-t semmi gond nélkül elfogadta és be is tudtam tölteni!
  4. Unknown User (kuvera)

    A getter/setter nevek helytelenül vannak írva, csupa kisbetűvel.
  5. Jó ezt látom én is és kétszer van definiálva az setid eljárás!
    De ha csak ennyi lenne a gond akkor kiírna valami hibajelentést, de úgymond nem is látja hogy a deploy könyvtárban van entity bean. Vagy e miatt nem látja mert kicsivel írtam az getter/setter eljárásban a változók neveit???

  6. Nem ismerem tüzetesen a JBoss-t, de célszerű betartani a bean pattern előírásait.
  7. Ha már egyszer JBoss, és nem lehet lebeszélni, akkor a 4.2.2-est használd, abba nem kell külön belepiszkálni az ejb támogatást.
    getter/setter helyes névhasználat:
    getAttributum
    setAttributum
    Tehát a kisbetűvel kezdődő attributum a get/set-ben kezdődjön nagybetűvel.
  8. Unknown User (kuvera)

    Kíváncsiságból kipróbáltam azt, hogy a JavaSE bean API felismeri-e az ilyen propertyket, és meglepetésemre az Introspector.getBeanInfo felismerte. De alapvetően Gábornak van igaza, a szabvánnyal nem éri meg vitatkozni. :)
  9. De még mindig nem értem miért csak az entity bean nem megy??? (Stateless, Stateful meg megy!!!)
  10. Nem tudom milyen IDE-t használsz, de a NetBeans 6.0, azon kívül, hogy telesárgázta az egész forrást, egy fontos dolgot is megjegyzett, az "user" foglalt kulcsszó. Próbálj más nevet adni neki.

    Logban semmiféle hiba nincs erre vonatkozóan?
  11. Eclipse-t használok, módosítottam de úgysem veszi észre!
  12. Unknown User (kuvera)

    "user" foglalt kulcsszó

    Az entitás property nevekre semmilyen korlátozást nem sikerült találnom, csak ezt:
    The following are the reserved identifiers in EJB QL: select, from, where, update, delete, join, outer, inner, left, group, by, having, fetch, distinct, object, null, true, false, not, and, or, between, like, in, as, unknown[21], empty, member, of, is, avg, max, min, sum, count, order, by, asc, desc, mod, upper, lower, trim, position, character_length, char_length, bit_length, current_time, current_date, current_timestamp, new, exists, all, any, some.
    Szóval nem értem. Valaki tudja miért foglalt?
  13. Letöltöttem a jboss 4.2.2-t.

    A stateless, stateful megy az entity-t észre sem veszi. Most ha jól tudom egy entity bean is lehet különálló bean tehát nem kell ear-be tenni. Mert én külön jar-ba tettem.

  14. Hajajjj... :)

    Ezt úgy szokás (NetBeans esetén), hogy az ember nyit egy Enterprise Application projektet, majd bepipálja a megfelelő részeket (war, ejb, ejb-client, app-client, stb). Az EJB projektben vannak az EJB-k, legyenek Entity Bean-ek, Session Bean-ek, Message Driven Bean-ek... ezeket nem szokás külön projektbe tenni.

    Javasolnám, hogy nézz kicsit bele az elméletbe is, mert sok problémától mentesülsz, ha tudod, hogy mi mért működik. Én nem akarom ráderőltetni a Glassfish-t, de a JBoss és az EJB3 kombináció jelenleg még EJB profiknak is néha gondot okoz, főleg ha 4.x korai verziójáról van szó...
  15. Na én azért közben próbálkozok!
    Csináltam egy EJB project-et abba van egy Stateless és egy Entity bean!
    Így a jar-t rögtön felismerte de abból csak a Stateless-et az entity-re semmi reakció mint ha ott sem lenne.
    Namármost én csak kezdő vagyok de ennyi biztos hogy elég ez az egy fájl semmi beállítás vagy valami?
    Én amikor elindul a jboss egy ablakban mutatja miket tölt be vagy valami olyasmiket. Ott kell hogy legyen vagy lehet hogy ez természetes hogy nem ír róla semmi!

  16. Hat, JBoss dob uzenetet, ha valamelyik beant deployolta (legalabbis 2-es ejb-nel ezt megteszi)
  17. A data source xml fájl be van állítva? Ez mondja meg a JBoss-nak, hogy milyen DB-hez kapcsolódjon.

    Pl. Oracle esetén:
    /docs/examples/jca/oracle-xa-ds.xml  fájlt másold a következő helyre, ha a default servert használod:
    /server/default/deploy

    majd módosítsd a fájlt az adatbázisodnak megfelelően
  18. Unknown User (trekan)

    A META-INF könyvtárba kell egy persistence.xml.
  19. Az adatbázis kapcsolat inkább a szerverhez kötődik, mint a projecthez; szerintem...
  20. A projektnél beállítjuk a persistence.xml tartalmát, benne egy adatforrásra hivatkozunk, a szerveren pedig az adatforrás nevéhez JNDI segítségével konkrét adatbázis kapcsolatot rendelünk... szerintem... :)
  21. Unknown User (kuvera)

    meszaros: JBoss használata esetén nagyon tudom ajánlani az Enterprise JavaBeans 3.0 könyvet (O'Reilly), amit a JBoss egyik fejlesztője írt. Kitűnő tankönyv, és a példák letölthetők. Ezeket hasonlítsd a sajátoddal, és meglesz a gond.
  22. Akkor inkább adok egy elérhetőséget:

    Itt van a project és a hiba.txt tartalmazza a hibát

    www.ganziskola.hu/javaee

     

  23. Meg van a hiba az entity beanben nem implementáltam a

    java.io.Serializable osztályt

  24. Komolyan mondom ez a szerkesztő kikészít itt szerkesztésben minden jó amikor kiíratom akkor meg eltűnnek dolgok belőle.

    Context ctx=new InitialContext();

    userRemote user=(userRemote)ctx.lookup("userProfileRemote");

    userProfile up=new userProfile();

    up.setId(10);

    up.setName("Kovács János");

    user.createProfile(up);

    userProfile upget=new userProfile();

    upget=user.findProfile(10);

    upget-> most kiírja

     

    Szerver újraindul

    Context ctx=new InitialContext();

    userRemote user=(userRemote)ctx.lookup("userProfileRemote");

    userProfile upget=new userProfile();

    upget=user.findProfile(10);

    Így már nem megy!

  25. Hogyan lehet eclipse-el EJB3-as bean-eket gyártatni? Én itt kínlódok vele, amíg a NB6-ban 10-15 kattintás egy projekt.
  26. Ezt nem értem, hogyan?
    Kiválasztok egy EAR projectet bele egy EJBprojectet egy WEBproject kliensnek aztán uccu neki!Mi nem világos???
  27. Unknown User (trekan)

    "Viszont van valamit amit nemértek!

    Létrehozok egy Entity bean-t osztályt feltöltöm és kiíratom viszont ha csak a findProfile metódust használom akkor is meg kéne jelennie nem?
    Nem az a lényege az ennek a beannek hogy túléljen egy szerver újraindulást is???
    Vagy az a gond hogy a persistance.xml-ben defaultds-t használok nem egy külső adatbázist???"

    Az  a gond h a persistence.xml-ben megadtal egy property-t, ami undeploy-kor torli a tablakat, deploy-kor pedig letrehozza, leallitasnal undeploy tortenik, indulasnal meg deploy.

     

  28. Akkor itt lehet a bibi:

    <property name="hibernate.hbm2ddl.auto" value="create-drop"/>

    Milyen más értékek lehetnek?

  29. Na már megint van egy érdekes problémám amit nem értek!
    Készítettem egy Entity beant ami jboss-on fut mysql adatbázis a DS.
    Minden rendben futtot. Majd készítettem ugyan azzal a stratégiával egy másik project-ben egy entity beant. De egyfolytában olyan hibája van hogy nincs elkészítve az a tábla miben az entity bean lenne? Ez most hogy van? egyszer magától elkészíti és nem szól egyszer meg én készytsem el a táblát (mert ha létrehozom akkor minden oké lesz megint)
    Hol lehet beállítani hogy most ő hozza létre vagy én (van egyáltalán ilyen beállítás)

    Hiba:

    Table not found in statement [insert intodatas (name,id) values (?,?)]
    Could not synchronize data state with session

  30. Úgy néz ki megvan a hiba:
    hibernate.hbm2ddl.auto helyett hibernate.gbm2ddl.auto írtam a persistence.xml-be

  31. Szeretném hogy az entity bean-ben az id-t ne kelljen megadni autómatikusan számoljon elementént.
    Találtam is rá egy példát hogy kéne megoldani csak már szinte az első sorban gond volt:

    azt írja hogy van egy @javax.ejb.Id(generate=.....) annotáció stb., na ez már nekem alapból nincs is én a persistence csomagban lévő Id-t használom az ejb-ben nincs is. Na ez most miért lehet, de ha lenne más ötletetek akkor szivesen meghallgatnám!

  32. Unknown User (soulfly)

    Nem tudom, hogy erre gondoltal-e, de en ezt hasznalom az automatikus id generalashoz:

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;