2009-08-08 9 views
2

Je veux utiliser l'instruction préparée avec ejb3 pour insérer des données dans Oracle. est-il possible d'utiliser.instruction préparée dans ejb3

J'essaie de trouver un exemple sur le net mais je n'ai trouvé aucun bon exemple.

Aidez s'il vous plaît à l'utiliser. ou est-il une autre façon d'utiliser la requête de paramètres (comme nous utilisons dans la déclaration préparée?) dans ejb3

Merci et salutations

Répondre

0

il est très simple:

public class YourEJB { 

    @Resource(mappedName="java:/DefaultDataSource") 
    DataSource dataSource; 

    // XXX: not handling exceptions  
    public void insertPerson(String name, String surname) { 
     Connection connection = dataSource.getConnection(); 
     PreparedStatement insertPerson = connection.prepareStatement(
      "INSERT INTO PEOPLE VALUES(?,?)"); 
     insertPerson.setString(1, name); 
     insertPerson.setString(2, surname); 
     insertPerson.executeUpdate(); 
    } 

Jetez aussi un oeil à JDBC tutorials .

+0

HI Dfa, Merci pour votre réponse. Je veux utiliser l'instruction préparée avec createNativeQuery() d'EJB ou y a-t-il un autre moyen d'utiliser la requête de paramètre (comme nous l'utilisons dans une instruction préparée) dans ejb3 –

0

Si vous utilisez EJB, l'idiome consiste à utiliser des beans entité pour l'interaction avec la base de données. Si vous utilisez EJB3, vous devez créer un objet et utiliser des annotations pour traiter la base de données. SQL est généré pour vous en utilisant JPA. Donc si EJB fournit toute cette abstraction pour vous aider, pourquoi ressentez-vous le besoin de retourner au niveau inférieur et d'écrire un PreparedStatement? Peut-être que la vraie réponse est de repenser votre modèle d'objet et de voir comment la requête pourrait tenir dans une abstraction d'un bean entité.