Je suis débutant en programmation J2EE.
J'ai un petit soucis, avec le code qui suit. En fait, mon application
cliente lorsque je recherche les occurences correspondantes ne me retourne
rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des suggestions a
me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/**
*
* @author Pat et Ben
*/
public abstract class BookBean implements javax.ejb.EntityBean {
private static final double idGenStart =
(double)System.currentTimeMillis();
private static double idGen = idGenStart;
public abstract Double getId();
public abstract void setId(Double id);
public abstract String getTitle();
public abstract void setTitle(String title);
public void ejbLoad() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void ejbStore() {}
public void setEntityContext(javax.ejb.EntityContext entityContext) {}
public void unsetEntityContext() {}
}
/**
*
* @author Pat et Ben
*/
public interface BookHomeRemote extends javax.ejb.EJBHome {
public BookRemote create(String title)
throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey)
throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title)
throws javax.ejb.FinderException, java.rmi.RemoteException;
/**
*
* @author Pat et Ben
*/
public class TestBook {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws
javax.naming.NamingException {
// Obtenir l'objet Book
Context jndiContext = getInitialContext();
Object obj = jndiContext.lookup("BookHomeRemote");
BookHomeRemote home =
(BookHomeRemote)javax.rmi.PortableRemoteObject.narrow(obj,
BookHomeRemote.class);
try{
BookRemote book = home.create("Java In A Nutshell");
Double primaryKey = book.getId();
BookRemote bookSearch = home.findByPrimaryKey(primaryKey);
System.out.println("Id : " + bookSearch.getId().toString());
System.out.println("Titre : " + bookSearch.getTitle());
Collection bookSearch2 = home.findByTitle("%in%");
Iterator iterator = bookSearch2.iterator();
BookRemote bookEntry;
while(iterator.hasNext()){
bookEntry = (BookRemote)iterator.next();
System.out.println(" ID : " + bookEntry.getId().toString());
System.out.println(" Title : " + bookEntry.getTitle());
}
} catch (Exception excpt){
excpt.printStackTrace();
}
}
public static Context getInitialContext() throws
javax.naming.NamingException {
Properties p = new Properties();
return new javax.naming.InitialContext(p);
}
}
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce
serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client
n'affiche que la première occurence trouvée. Je ne comprends pas pourquoi !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Brabant
Je suis débutant en programmation J2EE. J'ai un petit soucis, avec le code qui suit. En fait, mon application cliente lorsque je recherche les occurences correspondantes ne me retourne rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des suggestions a me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/** * * @author Pat et Ben */ public abstract class BookBean implements javax.ejb.EntityBean { private static final double idGenStart > (double)System.currentTimeMillis(); private static double idGen = idGenStart;
public abstract Double getId(); public abstract void setId(Double id); public abstract String getTitle(); public abstract void setTitle(String title);
public void ejbLoad() {} public void ejbPassivate() {} public void ejbRemove() {} public void ejbStore() {} public void setEntityContext(javax.ejb.EntityContext entityContext) {} public void unsetEntityContext() {} }
/** * * @author Pat et Ben */ public interface BookHomeRemote extends javax.ejb.EJBHome { public BookRemote create(String title) throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey) throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title) throws javax.ejb.FinderException, java.rmi.RemoteException;
/** * * @author Pat et Ben */ public class TestBook {
/** * @param args the command line arguments */ public static void main(String[] args) throws javax.naming.NamingException { // Obtenir l'objet Book Context jndiContext = getInitialContext(); Object obj = jndiContext.lookup("BookHomeRemote"); BookHomeRemote home > (BookHomeRemote)javax.rmi.PortableRemoteObject.narrow(obj, BookHomeRemote.class); try{ BookRemote book = home.create("Java In A Nutshell"); Double primaryKey = book.getId(); BookRemote bookSearch = home.findByPrimaryKey(primaryKey); System.out.println("Id : " + bookSearch.getId().toString()); System.out.println("Titre : " + bookSearch.getTitle()); Collection bookSearch2 = home.findByTitle("%in%"); Iterator iterator = bookSearch2.iterator(); BookRemote bookEntry; while(iterator.hasNext()){ bookEntry = (BookRemote)iterator.next(); System.out.println(" ID : " + bookEntry.getId().toString()); System.out.println(" Title : " + bookEntry.getTitle()); } } catch (Exception excpt){ excpt.printStackTrace(); } }
public static Context getInitialContext() throws javax.naming.NamingException { Properties p = new Properties(); return new javax.naming.InitialContext(p); } }
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client n'affiche que la première occurence trouvée. Je ne comprends pas pourquoi !
Bernard Koninckx
Tout d'abord, je vois que tu as la query suivante
<ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%?1%' </ejb-ql>
Et lorsque tu appelles la méthode qui doit exécuter cette query, tu lui repasse les %%
Donc finalement, il fait comme query: <ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%%in%%' </ejb-ql>
De plus, tu fais une requête sur %in%. Je ne sais pas ce que tu as dans ta db, mais si tu t'attends à ce qu'il te retourne Java In a Nustshell, c'est raté car c'est In, avec I majuscule et non in en minuscule.
Donne un peu la liste des occurences que tu as déjà.
Bonne nuit -- Vincent Brabant ---------------- http://www.netbeans.org/index_fr.html http://vbrabant-fr.skynetblogs.be
Je suis débutant en programmation J2EE.
J'ai un petit soucis, avec le code qui suit. En fait, mon application
cliente lorsque je recherche les occurences correspondantes ne me retourne
rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des suggestions a
me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/**
*
* @author Pat et Ben
*/
public abstract class BookBean implements javax.ejb.EntityBean {
private static final double idGenStart > (double)System.currentTimeMillis();
private static double idGen = idGenStart;
public abstract Double getId();
public abstract void setId(Double id);
public abstract String getTitle();
public abstract void setTitle(String title);
public void ejbLoad() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void ejbStore() {}
public void setEntityContext(javax.ejb.EntityContext entityContext) {}
public void unsetEntityContext() {}
}
/**
*
* @author Pat et Ben
*/
public interface BookHomeRemote extends javax.ejb.EJBHome {
public BookRemote create(String title)
throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey)
throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title)
throws javax.ejb.FinderException, java.rmi.RemoteException;
/**
*
* @author Pat et Ben
*/
public class TestBook {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws
javax.naming.NamingException {
// Obtenir l'objet Book
Context jndiContext = getInitialContext();
Object obj = jndiContext.lookup("BookHomeRemote");
BookHomeRemote home > (BookHomeRemote)javax.rmi.PortableRemoteObject.narrow(obj,
BookHomeRemote.class);
try{
BookRemote book = home.create("Java In A Nutshell");
Double primaryKey = book.getId();
BookRemote bookSearch = home.findByPrimaryKey(primaryKey);
System.out.println("Id : " + bookSearch.getId().toString());
System.out.println("Titre : " + bookSearch.getTitle());
Collection bookSearch2 = home.findByTitle("%in%");
Iterator iterator = bookSearch2.iterator();
BookRemote bookEntry;
while(iterator.hasNext()){
bookEntry = (BookRemote)iterator.next();
System.out.println(" ID : " + bookEntry.getId().toString());
System.out.println(" Title : " + bookEntry.getTitle());
}
} catch (Exception excpt){
excpt.printStackTrace();
}
}
public static Context getInitialContext() throws
javax.naming.NamingException {
Properties p = new Properties();
return new javax.naming.InitialContext(p);
}
}
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce
serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client
n'affiche que la première occurence trouvée. Je ne comprends pas pourquoi !
Bernard Koninckx
Tout d'abord, je vois que tu as la query suivante
<ejb-ql>
SELECT OBJECT(b) FROM Book AS b
WHERE b.title LIKE '%?1%'
</ejb-ql>
Et lorsque tu appelles la méthode qui doit exécuter cette query, tu lui repasse les %%
Donc finalement, il fait comme query:
<ejb-ql>
SELECT OBJECT(b) FROM Book AS b
WHERE b.title LIKE '%%in%%'
</ejb-ql>
De plus, tu fais une requête sur %in%.
Je ne sais pas ce que tu as dans ta db, mais si tu t'attends à ce qu'il te retourne Java In a Nustshell, c'est raté car c'est In, avec I majuscule et non in en minuscule.
Donne un peu la liste des occurences que tu as déjà.
Bonne nuit
--
Vincent Brabant
----------------
http://www.netbeans.org/index_fr.html
http://vbrabant-fr.skynetblogs.be
Je suis débutant en programmation J2EE. J'ai un petit soucis, avec le code qui suit. En fait, mon application cliente lorsque je recherche les occurences correspondantes ne me retourne rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des suggestions a me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/** * * @author Pat et Ben */ public abstract class BookBean implements javax.ejb.EntityBean { private static final double idGenStart > (double)System.currentTimeMillis(); private static double idGen = idGenStart;
public abstract Double getId(); public abstract void setId(Double id); public abstract String getTitle(); public abstract void setTitle(String title);
public void ejbLoad() {} public void ejbPassivate() {} public void ejbRemove() {} public void ejbStore() {} public void setEntityContext(javax.ejb.EntityContext entityContext) {} public void unsetEntityContext() {} }
/** * * @author Pat et Ben */ public interface BookHomeRemote extends javax.ejb.EJBHome { public BookRemote create(String title) throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey) throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title) throws javax.ejb.FinderException, java.rmi.RemoteException;
/** * * @author Pat et Ben */ public class TestBook {
/** * @param args the command line arguments */ public static void main(String[] args) throws javax.naming.NamingException { // Obtenir l'objet Book Context jndiContext = getInitialContext(); Object obj = jndiContext.lookup("BookHomeRemote"); BookHomeRemote home > (BookHomeRemote)javax.rmi.PortableRemoteObject.narrow(obj, BookHomeRemote.class); try{ BookRemote book = home.create("Java In A Nutshell"); Double primaryKey = book.getId(); BookRemote bookSearch = home.findByPrimaryKey(primaryKey); System.out.println("Id : " + bookSearch.getId().toString()); System.out.println("Titre : " + bookSearch.getTitle()); Collection bookSearch2 = home.findByTitle("%in%"); Iterator iterator = bookSearch2.iterator(); BookRemote bookEntry; while(iterator.hasNext()){ bookEntry = (BookRemote)iterator.next(); System.out.println(" ID : " + bookEntry.getId().toString()); System.out.println(" Title : " + bookEntry.getTitle()); } } catch (Exception excpt){ excpt.printStackTrace(); } }
public static Context getInitialContext() throws javax.naming.NamingException { Properties p = new Properties(); return new javax.naming.InitialContext(p); } }
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client n'affiche que la première occurence trouvée. Je ne comprends pas pourquoi !
Bernard Koninckx
Tout d'abord, je vois que tu as la query suivante
<ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%?1%' </ejb-ql>
Et lorsque tu appelles la méthode qui doit exécuter cette query, tu lui repasse les %%
Donc finalement, il fait comme query: <ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%%in%%' </ejb-ql>
De plus, tu fais une requête sur %in%. Je ne sais pas ce que tu as dans ta db, mais si tu t'attends à ce qu'il te retourne Java In a Nustshell, c'est raté car c'est In, avec I majuscule et non in en minuscule.
Donne un peu la liste des occurences que tu as déjà.
Bonne nuit -- Vincent Brabant ---------------- http://www.netbeans.org/index_fr.html http://vbrabant-fr.skynetblogs.be
Bernard Koninckx
J'ai posté le message sur le news anglais comp.lang.java.beans, et on m'a répondu a juste titre que la clause like EJB-QL doit être codée en dur ans le fichier ejb-jar (b.title LIKE '%in%'), on ne peut pas le faire de manière dynamique à partir du client.
Merci quand même pour la réponse que tu m'as apportée.
Bernard
"Vincent Brabant" a écrit dans le message de news: 3ffb3861$0$6087$
Je suis débutant en programmation J2EE. J'ai un petit soucis, avec le code qui suit. En fait, mon application cliente lorsque je recherche les occurences correspondantes ne me retourne
rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des suggestions a
me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/** * * @author Pat et Ben */ public abstract class BookBean implements javax.ejb.EntityBean { private static final double idGenStart > > (double)System.currentTimeMillis(); private static double idGen = idGenStart;
public Double ejbCreate (String title) throws javax.ejb.CreateException
public abstract Double getId(); public abstract void setId(Double id); public abstract String getTitle(); public abstract void setTitle(String title);
public void ejbLoad() {} public void ejbPassivate() {} public void ejbRemove() {} public void ejbStore() {} public void setEntityContext(javax.ejb.EntityContext entityContext) {}
/** * * @author Pat et Ben */ public interface BookHomeRemote extends javax.ejb.EJBHome { public BookRemote create(String title) throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey) throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title) throws javax.ejb.FinderException, java.rmi.RemoteException;
public static Context getInitialContext() throws javax.naming.NamingException { Properties p = new Properties(); return new javax.naming.InitialContext(p); } }
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client n'affiche que la première occurence trouvée. Je ne comprends pas pourquoi !
Bernard Koninckx
Tout d'abord, je vois que tu as la query suivante
<ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%?1%' </ejb-ql>
Et lorsque tu appelles la méthode qui doit exécuter cette query, tu lui repasse les %%
Donc finalement, il fait comme query: <ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%%in%%' </ejb-ql>
De plus, tu fais une requête sur %in%. Je ne sais pas ce que tu as dans ta db, mais si tu t'attends à ce qu'il te retourne Java In a Nustshell, c'est raté car c'est In, avec I majuscule et
non in en minuscule.
Donne un peu la liste des occurences que tu as déjà.
Bonne nuit -- Vincent Brabant ---------------- http://www.netbeans.org/index_fr.html http://vbrabant-fr.skynetblogs.be
J'ai posté le message sur le news anglais comp.lang.java.beans, et on m'a
répondu a juste titre que la clause like EJB-QL doit être codée en dur ans
le fichier ejb-jar (b.title LIKE '%in%'), on ne peut pas le faire de manière
dynamique à partir du client.
Merci quand même pour la réponse que tu m'as apportée.
Bernard
"Vincent Brabant" <vincent.brabant@skynet.be> a écrit dans le message de
news: 3ffb3861$0$6087$ba620e4c@news.skynet.be...
Je suis débutant en programmation J2EE.
J'ai un petit soucis, avec le code qui suit. En fait, mon application
cliente lorsque je recherche les occurences correspondantes ne me
retourne
rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des
suggestions a
me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/**
*
* @author Pat et Ben
*/
public abstract class BookBean implements javax.ejb.EntityBean {
private static final double idGenStart > > (double)System.currentTimeMillis();
private static double idGen = idGenStart;
public Double ejbCreate (String title) throws
javax.ejb.CreateException
public abstract Double getId();
public abstract void setId(Double id);
public abstract String getTitle();
public abstract void setTitle(String title);
public void ejbLoad() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void ejbStore() {}
public void setEntityContext(javax.ejb.EntityContext entityContext)
{}
/**
*
* @author Pat et Ben
*/
public interface BookHomeRemote extends javax.ejb.EJBHome {
public BookRemote create(String title)
throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey)
throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title)
throws javax.ejb.FinderException, java.rmi.RemoteException;
public static Context getInitialContext() throws
javax.naming.NamingException {
Properties p = new Properties();
return new javax.naming.InitialContext(p);
}
}
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce
serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client
n'affiche que la première occurence trouvée. Je ne comprends pas
pourquoi !
Bernard Koninckx
Tout d'abord, je vois que tu as la query suivante
<ejb-ql>
SELECT OBJECT(b) FROM Book AS b
WHERE b.title LIKE '%?1%'
</ejb-ql>
Et lorsque tu appelles la méthode qui doit exécuter cette query, tu lui
repasse les %%
Donc finalement, il fait comme query:
<ejb-ql>
SELECT OBJECT(b) FROM Book AS b
WHERE b.title LIKE '%%in%%'
</ejb-ql>
De plus, tu fais une requête sur %in%.
Je ne sais pas ce que tu as dans ta db, mais si tu t'attends à ce qu'il te
retourne Java In a Nustshell, c'est raté car c'est In, avec I majuscule et
non in en minuscule.
Donne un peu la liste des occurences que tu as déjà.
Bonne nuit
--
Vincent Brabant
----------------
http://www.netbeans.org/index_fr.html
http://vbrabant-fr.skynetblogs.be
J'ai posté le message sur le news anglais comp.lang.java.beans, et on m'a répondu a juste titre que la clause like EJB-QL doit être codée en dur ans le fichier ejb-jar (b.title LIKE '%in%'), on ne peut pas le faire de manière dynamique à partir du client.
Merci quand même pour la réponse que tu m'as apportée.
Bernard
"Vincent Brabant" a écrit dans le message de news: 3ffb3861$0$6087$
Je suis débutant en programmation J2EE. J'ai un petit soucis, avec le code qui suit. En fait, mon application cliente lorsque je recherche les occurences correspondantes ne me retourne
rien. Je ne comprend pas pourquoi. Avez-vous des idées ou des suggestions a
me faire ?
Merci beaucoup à tous
Bernard
En fait voici le code :
package ejb.server.biblio;
/** * * @author Pat et Ben */ public abstract class BookBean implements javax.ejb.EntityBean { private static final double idGenStart > > (double)System.currentTimeMillis(); private static double idGen = idGenStart;
public Double ejbCreate (String title) throws javax.ejb.CreateException
public abstract Double getId(); public abstract void setId(Double id); public abstract String getTitle(); public abstract void setTitle(String title);
public void ejbLoad() {} public void ejbPassivate() {} public void ejbRemove() {} public void ejbStore() {} public void setEntityContext(javax.ejb.EntityContext entityContext) {}
/** * * @author Pat et Ben */ public interface BookHomeRemote extends javax.ejb.EJBHome { public BookRemote create(String title) throws javax.ejb.CreateException, java.rmi.RemoteException;
public BookRemote findByPrimaryKey(Double primaryKey) throws javax.ejb.FinderException, java.rmi.RemoteException;
public Collection findByTitle(String title) throws javax.ejb.FinderException, java.rmi.RemoteException;
public static Context getInitialContext() throws javax.naming.NamingException { Properties p = new Properties(); return new javax.naming.InitialContext(p); } }
Si quelqu'un y trouve une erreur ou quelque chose de plus à faire , ce serait sympa.
J'ai déjà plusieurs occurences dans ma base de données, mais mon client n'affiche que la première occurence trouvée. Je ne comprends pas pourquoi !
Bernard Koninckx
Tout d'abord, je vois que tu as la query suivante
<ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%?1%' </ejb-ql>
Et lorsque tu appelles la méthode qui doit exécuter cette query, tu lui repasse les %%
Donc finalement, il fait comme query: <ejb-ql> SELECT OBJECT(b) FROM Book AS b WHERE b.title LIKE '%%in%%' </ejb-ql>
De plus, tu fais une requête sur %in%. Je ne sais pas ce que tu as dans ta db, mais si tu t'attends à ce qu'il te retourne Java In a Nustshell, c'est raté car c'est In, avec I majuscule et
non in en minuscule.
Donne un peu la liste des occurences que tu as déjà.
Bonne nuit -- Vincent Brabant ---------------- http://www.netbeans.org/index_fr.html http://vbrabant-fr.skynetblogs.be