In this section, you will learn how to delete a column from database table using jpa. You need the following artifacts:
Table: student
| CREATE TABLE `student` ( `id` int(11) NOT NULL auto_increment, `sname` varchar(40) NOT NULL, `sroll` int(11) NOT NULL, `scourse` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) |
Model Class: Student.java
| /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jpacrud; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; /** * * @author Administrator */ @Entity @Table(name="student") @NamedQueries({ @NamedQuery(name="readAllRecords",query="SELECT st FROM Student st"), @NamedQuery(name="updateRecord",query="UPDATE Student st SET st.sname= ?1 WHERE st.sroll= ?2") }) public class Student implements java.io.Serializable { @Id @GeneratedValue private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(name="sname",length=40,nullable=false) private String sname; public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } @Column(name="sroll",nullable=false) private int sroll; public int getSroll() { return sroll; } public void setSroll(int sroll) { this.sroll = sroll; } @Column(name="scourse",length=10,nullable=true) private String scourse; public String getScourse() { return scourse; } public void setScourse(String scourse) { this.scourse = scourse; } } |
Main Class: JPADeleteColumn.java
| /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jpacrud; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; import javax.persistence.Query; /** * * @author Administrator */ public class JPADeleteColumn { public static void main(String arg[]){ EntityManagerFactory emf=Persistence.createEntityManagerFactory("netjpa"); EntityManager em=emf.createEntityManager(); try{ EntityTransaction entr=em.getTransaction(); entr.begin(); Query query=em.createNativeQuery("ALTER TABLE Student DROP sroll"); query.executeUpdate(); entr.commit(); System.out.println("Column is deleted successfully."); } catch(Exception ex){ System.out.println(ex.getMessage()); } finally{ em.close(); } } } |
Output:
| init: deps-jar: Compiling 1 source file to C:\NetBeansProjects\JPACRUD\build\classes compile-single: run-single: log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WARN Please initialize the log4j system properly. Hibernate: ALTER TABLE Student DROP sroll Column is deleted successfully. BUILD SUCCESSFUL (total time: 4 seconds) |
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: Delete a column
Post your Comment