import
java.util.Iterator;
import
java.util.List;
import
org.hibernate.Filter;
import
org.hibernate.Hibernate;
import
org.hibernate.Query;
import
org.hibernate.SQLQuery;
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.hibernate.Transaction;
import
org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import
org.hibernate.cfg.Configuration;
import
org.hibernate.type.IntegerType;
import
org.hibernate.type.StringType;
import
com.gfg.hibernate.pojo.StudentsDetails;
public
class
Main {
public
static
void
main(String[] args)
{
Configuration configuration =
new
Configuration()
.configure(
"hibernate.cfg.xml"
);
StandardServiceRegistryBuilder builder =
new
StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties());
SessionFactory factory = configuration.buildSessionFactory(builder
.build());
Session session = factory.openSession();
String studentsQuery =
"select * from studentsdetails"
;
SQLQuery sqlQuery1 = session.createSQLQuery(studentsQuery);
List studentsList = sqlQuery1.list();
Iterator studentsIterator = studentsList.iterator();
while
(studentsIterator.hasNext()) {
Object[] object = (Object[])studentsIterator.next();
System.out.println(
"Student Id : "
+ object[
0
] +
" Student Name : "
+ object[
1
]
+
" Caste : "
+ object[
2
]);
}
System.out.println(
"***********Entity*************"
);
String entityQuery =
"select * from studentsdetails"
;
SQLQuery sqlQuery2 = session.createSQLQuery(entityQuery);
sqlQuery2.addEntity(StudentsDetails.
class
);
List studentsEntityList = sqlQuery2.list();
Iterator studentsEntityIterator = studentsEntityList.iterator();
while
(studentsEntityIterator.hasNext()) {
StudentsDetails student = (StudentsDetails)studentsEntityIterator.next();
System.out.println(
"id : "
+ student.getId() +
" Name : "
+ student.getName() +
" NEETMarks : "
+ student.getNeetMarks());
}
System.out.println(
"***********SCALAR*************"
);
String scalarQuery =
"select * from studentsdetails"
;
SQLQuery sqlQuery3 = session.createSQLQuery(scalarQuery);
sqlQuery3.addScalar(
"id"
, IntegerType.INSTANCE);
sqlQuery3.addScalar(
"name"
, StringType.INSTANCE);
List studentsScalarList = sqlQuery3.list();
Iterator studentsScalarIterator = studentsScalarList.iterator();
while
(studentsScalarIterator.hasNext()) {
Object[] object = (Object[])studentsScalarIterator.next();
System.out.println(
"Id : "
+ object[
0
] +
" Name : "
+ object[
1
]);
}
System.out.println(
"**********Update**********"
);
Transaction mySqlTransaction = session.beginTransaction();
String updateQuery =
"update studentsdetails set neetmarks=:neetmarks where id=:id"
;
SQLQuery sqlQuery4 = session.createSQLQuery(updateQuery);
sqlQuery4.setParameter(
"id"
,
1
);
sqlQuery4.setParameter(
"neetmarks"
,
650
);
sqlQuery4.executeUpdate();
mySqlTransaction.commit();
System.out.println(
"Completed"
);
entityQuery =
"select * from studentsdetails"
;
sqlQuery2 = session.createSQLQuery(entityQuery);
sqlQuery2.addEntity(StudentsDetails.
class
);
List studentsEntityList1 = sqlQuery2.list();
Iterator studentsEntityIterator1 = studentsEntityList1.iterator();
while
(studentsEntityIterator1.hasNext()) {
StudentsDetails student = (StudentsDetails)studentsEntityIterator1.next();
System.out.println(
"id : "
+ student.getId() +
" Name : "
+ student.getName() +
" NEETMarks : "
+ student.getNeetMarks());
}
session.clear();
session.close();
}
}