Read the rules before posting!
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hi!!
I have a table with a datetime column.
I try to delete entries with dates older the 2 hours.
my code is below.
The problem: entries that has the same date as today's but older then 2 hours are not deleted where as entries from yesterday or older are deleted. why?
From the sql statement I see a select is made but not a delete - is that a cache thing? if it is, how can I disable it?
how can I do this better?
Thanks
Yariv
Hibernate version:
2.0 - I know its old - can't upgrade for now.
Mapping documents:
Code between sessionFactory.openSession() and session.close():
// get current date
Date date = new Date();
// calculate the date x hours ago. (HOUR_IN_MILISEC = 3600000).
Date xHoursAgo = new Date(date.getTime() - (2 * HOUR_IN_MILISEC));
//set date and type for query
Date[] dates = new Date[] {xHoursAgo};
Type []dateTypes = new Type[]{new DateType()};
// run the db clean
Session session = getHibernateSession();// get session from thread local.
Transaction tx = session.beginTransaction();
session.delete("from com.mercury.dashboard.model.portlet.GeneratedImage as image where image.creationDate < :date", dates, dateTypes);
tx.commit();
Full stack trace of any exception that occurs:
Name and version of the database you are using:
sql server 2000 jtds1.0 driver
The generated SQL (show_sql=true):
11:16:34,770 INFO [STDOUT] Hibernate: select generatedi0_.GENERATED_IMAGE_ID as
GENERATE1_, generatedi0_.VERSION as VERSION, generatedi0_.CREATION_DATE as CREA
TION3_, generatedi0_.NAME as NAME, generatedi0_.IMAGE_DATA as IMAGE_DATA from DS
H_GENERATED_IMAGES generatedi0_ where (generatedi0_.CREATION_DATE<? )
Debug level Hibernate log excerpt: