Reputation: 4174
My Previous question 's answer is right. The trigger is got an error
Here i use that in my program the following error occurred
2014-02-25T11:51:52.737+0530 ERROR line 1:2: unexpected token: CREATE
2014-02-25T11:51:52.737+0530 ERROR line 1:2: unexpected token: CREATE
line 1:2: unexpected token: CREATE
This is the code
@SuppressWarnings("unchecked")
public static void expMember(){
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.setFlushMode(FlushMode.MANUAL);
session.beginTransaction();
java.util.Date utilDate=new java.util.Date();
java.sql.Date sqldate=new java.sql.Date(utilDate.getTime());
List<Member> members = (List<Member>) session.createQuery(
"from Member where exp_status = 'false' ").list();;
for(Member i : members){
Date exp=i.getRenewDate();
try {
members = (List<Member>) session.createQuery(
" CREATE TRIGGER autoupdation_"+ sqldate +" BEFORE UPDATE ON tbl-member FOR EACH
ROW BEGIN IF"+ exp .compareTo(sqldate)+" THEN SET NEW.status = 1;
ELSE SET NEW.status = 0; END IF;END;").list();
}
catch(Exception exception){
}
}
}
Upvotes: 0
Views: 74
Reputation: 2294
You are Trying to run a native sql query so for those please use createSQLQuery
instead of createQuery
Also Why do you create triggers on fly . Your logic of creating triggers within a loop is wrong. You just need to create one trigger that can be done at database creation itself.
The MySQL Table Editor in MYSQL workbench provides a work space that has tabs used to perform these actions:
Columns: Add or modify columns
Indexes: Add or modify indexes
Foreign Keys: Add or modify foreign keys
Triggers: Add or modify triggers
Partitioning: Manage partitioning
Options: Add or modify various general, table, and row options
Please check https://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/querysql.html http://www.mkyong.com/hibernate/hibernate-native-sql-queries-examples/
https://dev.mysql.com/doc/workbench/en/wb-table-editor.html
Upvotes: 3