Delete a column

In this section, you will learn how to delete a column
from database table using jpa. You need the following artifacts:
- Database table: student
- Model Class: Student.java
- Main Class: JPADeleteColumn.java
- And its required jar files.
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) |
Download
Application

|