# EJB Fehler



## mayer (27. Jul 2005)

Meine Anwendung besteht aus zwei EJB:
1. PBesamungsanstalt
2. PBsMitgliedBesamung

Nun will ich für das zweite EJB(PBsMitgliedBesamung) eine select Methode die so aussieht:

Auszug ejb-jar.xml


```
<query>
        <query-method>
          <method-name>ejbSelectBesamerNrFor</method-name>
          <method-params>
            <method-param>java.lang.String</method-param>
            <method-param>java.lang.Long</method-param>
          </method-params>
        </query-method>
        <result-type-mapping>Local</result-type-mapping>

        <ejb-ql>
                select mbs.besamerNr
                from PBsMitgliedBesamung mbs
                where (mbs.baRdvNr = ?1)
                and (mbs.bsBsLfbisLkvnr = ?2)
        </ejb-ql>
 </query>
```


Leider meldet er mir diesen Fehler:


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C:\Programme\JDeveloper\jdev\system\oracle.j2ee.10.1.3.3.51\oc4j-config\PBsMitgliedBesamungBean_PersistenceManager4.java:380: error #364: cannot cast java.lang.String to java.lang.Long

else statement.setLong(1, ((java.lang.Long)argument0).longValue());

                           ^

1 error

05/07/27 14:43:44 
Error compiling C:\Dokumente und Einstellungen\Manuel\Eigene Dateien\Programmieren\RDV4M-Projekt\MyFaceChanges\classes: Syntax error in source or compilation failed

05/07/27 14:43:44 Error in application current-workspace-app: Error loading package at file:/C:/Dokumente und Einstellungen/Manuel/Eigene Dateien/Programmieren/RDV4M-Projekt/MyFaceChanges/classes/, Compile error: Syntax error in source or compilation failed

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Der Fehler liegt allem anschein nach beim zweiten Parameter.
Ich habe probiert den zweiten Parameter ?2 durch ein fixe Zahl z.B.:2500 zu ersetzen und es hat problemlos
funktioniert.

Kann mir vielleicht jemand weiterhelfen?

Übrigens die Datentypen von: 
->baRdvNr ist String
->bsBsLfbisLkvnr ist Long

mfg manuel


----------



## Bleiglanz (28. Jul 2005)

LOL

du rufst beim einfügen nochmla longValue auf, das dir aber ein primitives long gibt

lass das einfach weg


```
else statement.setLong(1,argument0);
```
argument0 sollte wirklich ein java.lang.Long sein


----------



## mayer (4. Aug 2005)

Das blöde ist nur das *else statement.setLong(1, ((java.lang.Long)argument0).longValue()); * habe ich nie geschrieben, er generiert es anscheinend selbst. Alles was ich gemacht habe ist die EJB Ql Anweisung zu schreiben.


----------

