Total members 11895 |It is currently Sat Dec 21, 2024 7:11 pm Login / Join Codemiles

Java

C/C++

PHP

C#

HTML

CSS

ASP

Javascript

JQuery

AJAX

XSD

Python

Matlab

R Scripts

Weka





Delete using native query , the following example is supposed to delete a topic record using its id .Notice that native query use actual physical names of database . For example TOPIC (Database table name ) instead of Topic (Name of the entity class ) .

Code:

package com
.codemiles.jpa;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

/**
 * @author codemiles.
 *
 */
public abstract class JPAService {
    private 
EntityManager entityManager;

    
/**
     * @param args
     */
    
public void deleteTopic(Topic topic) {
    
EntityManagerFactory factory Persistence
            
.createEntityManagerFactory("persistenceUnitName");
    
entityManager factory.createEntityManager();
    
entityManager.getTransaction().begin();
    
deleteTopicById(topic.getId());
    
entityManager.getTransaction().commit();
    
entityManager.close();
    
factory.close();

    }
 
 
    
/**
     * @param id 
     *  
     * @return
     *   number of affected columns . 
     */
    
public int deleteTopicById(int id){
    
Query query entityManager.createNativeQuery("Delete from TOPIC where ID=?");
    
query.setParameter(1id);
    return 
query.executeUpdate();
    
    }

}

 



entity class :
Code:

package com
.codemiles.jpa;
import java.util.Collection;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;



@
Entity
@Table(name="TOPIC")
public class 
Topic implements java.io.Serializable{
    
/**
     * 
     */
    
private static final long serialVersionUID 1L;
    @
Id
    
private int Id;
    private 
String title;
    private 
Date creationDate;
    private 
Date modifedDate;
    private 
String content;
    @
OneToMany(mappedBy="topic")
    private 
Collection<Commentcomments;

    public 
int getId() {
        return 
Id;
    }
    public 
void setId(int id) {
        
Id id;
    }
    
    @
Column(name="TITLE")
    public 
String getTitle() {
        return 
title;
    }
    public 
void setTitle(String title) {
        
this.title title;
    }
    
    @
Column(name="CREATION_DATE")
    public 
Date getCreationDate() {
        return 
creationDate;
    }
    public 
void setCreationDate(Date creationDate) {
        
this.creationDate creationDate;
    }
    
    @
Column(name="MODIFED_DATE")
    public 
Date getModifedDate() {
        return 
modifedDate;
    }
    public 
void setModifedDate(Date modifedDate) {
        
this.modifedDate modifedDate;
    }
    
    @
Column(name="CONTENT")
    public 
String getContent() {
        return 
content;
    }
    public 
void setContent(String content) {
        
this.content content;
    }
    public 
void setComments(Collection<Commentcomments) {
    
this.comments comments;
    }
    public 
Collection<CommentgetComments() {
    return 
comments;
    }
}
 




_________________
M. S. Rakha, Ph.D.
Queen's University
Canada


Author:
Mastermind
User avatar Posts: 2715
Have thanks: 74 time
Post new topic Reply to topic  [ 1 post ] 

  Related Posts  to : Delete using native query
 Named Native Query     -  
 Insert using native query     -  
 What is a native method     -  
 Delete a file in php     -  
 DELETE Commands     -  
 Delete directory in php     -  
 delete file in asp     -  
 Delete file     -  
 How can I delete inactive friends?     -  
 Delete data from database by ID in php     -  









Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team
Codemiles.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com