sql - Store HH:MM:SS with Date field in web application(Spring+Hibernate) -


i working on rest api using spring , hibernate. put operation need store time along date. investigation, found out application returning time along date. while writing field in database table, date field visible , time field shown default 00:00:00. in database datetime column declared timestamp field.

myapproach

the application using date field(java.util.date import). tried change date field timestamp field(import juva.sql.timestamp) stores both time , date. couldn't solve it.

please find hibernatequery code: code insert data in database(put operation)

public subscriber insertsubscriber(subscriber subscriber, lookupkeys lookupkeys) {      // value cannot null     if (subscriber.getlastmodifiedtime() == null) subscriber.setlastmodifiedtime(new date());      // initialize our insert statement     stringbuilder querybuilder = new stringbuilder("insert users (");     querybuilder.append(oraclestandardattributenames.id.tostring());      // set cdid column(s)     (int = 0; < lookupkeys.getkeycount(); i++) {         queryfriendlynames(querybuilder, null, lookupkeys.getkey(i).getcolumnname(), subscriber.getcustomerdefinedid().get(i), false);     }      //simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh-mm-ss") ;     //sdf.format(subscriber.getlastmodifiedtime());     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.firstname.tostring(), subscriber.getfirstname(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastname.tostring(), subscriber.getlastname(), false);      queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.email.tostring(), subscriber.getemailaddress(), false);      queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.divisionmembership.tostring(), subscriber.getdivisionmembership(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.divisionsubscriptionstatus.tostring(), subscriber.getdivisionsubscriptionstatus(), false);      queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastreferredtime.tostring(), subscriber.getlastreferredtime(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.postalcode.tostring(), subscriber.getpostalcode(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.prefersmobile.tostring(), subscriber.getprefersmobile(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastsuppressedtime.tostring(), subscriber.getlastsuppressedtime(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.emailformat.tostring(), subscriber.getemailprogram(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.deademailtime.tostring(), subscriber.getdeademailtime(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.datecreated.tostring(), subscriber.getdatecreated(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastmodifiedtime.tostring(), subscriber.getlastmodifiedtime(), false);     //queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastmodifiedtime.tostring(), sdf.format(subscriber.getlastmodifiedtime()), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.subscribed.tostring(), subscriber.getsubscribed(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastmodifiedonwebtime.tostring(), subscriber.getlastmodifiedonwebtime(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastsubscribedtime.tostring(), subscriber.getlastsubscribedtime(), false);     queryfriendlynames(querybuilder, lookupkeys, oraclestandardattributenames.lastunsubscribedtime.tostring(), subscriber.getlastunsubscribedtime(), false);      querybuilder.append(") values (");     querybuilder.append("useridsequence.nextval");      (int = 0; < lookupkeys.getkeycount(); i++) {         queryfriendlyvalues(querybuilder, null, "customerdefinedid" + i, subscriber.getcustomerdefinedid().get(i), false);     }      queryfriendlyvalues(querybuilder, lookupkeys, "firstname", subscriber.getfirstname(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastname", subscriber.getlastname(), false);      // not want include "email" twice.     if (!lookupkeys.isemailakey()) {         queryfriendlyvalues(querybuilder, lookupkeys, "email", subscriber.getemailaddress(), false);     }      queryfriendlyvalues(querybuilder, lookupkeys, "divisionmembership", subscriber.getdivisionmembership(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "divisionsubscriptionstatus", subscriber.getdivisionsubscriptionstatus(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastreferredtime", subscriber.getlastreferredtime(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "postalcode", subscriber.getpostalcode(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "prefersmobile", subscriber.getprefersmobile(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastsuppressedtime", subscriber.getlastsuppressedtime(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "emailprogram", subscriber.getemailprogram(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "deademailtime", subscriber.getdeademailtime(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "datecreated", subscriber.getdatecreated(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastmodifiedtime", subscriber.getlastmodifiedtime(), false);     //queryfriendlyvalues(querybuilder, lookupkeys, "lastmodifiedtime", sdf.format(subscriber.getlastmodifiedtime()), false);     queryfriendlyvalues(querybuilder, lookupkeys, "subscribed", subscriber.getsubscribed(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastmodifiedonwebtime", subscriber.getlastmodifiedonwebtime(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastsubscribedtime", subscriber.getlastsubscribedtime(), false);     queryfriendlyvalues(querybuilder, lookupkeys, "lastunsubscribedtime", subscriber.getlastunsubscribedtime(), false);      querybuilder.append(")");      // set statement parameters     session session = (session) entitymanager.getdelegate();     org.hibernate.query hibernatequery = session.createsqlquery(querybuilder.tostring());      (int = 0; < lookupkeys.getkeycount(); i++) {         hibernatequery.setparameter("customerdefinedid" + i, subscriber.getcustomerdefinedid().get(i));     }      if (subscriber.getfirstname() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.firstname.tostring()))         hibernatequery.setstring("firstname", subscriber.getfirstname());     if (subscriber.getlastname() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastname.tostring()))         hibernatequery.setstring("lastname", subscriber.getlastname());     if (subscriber.getemailaddress() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.email.tostring()))         hibernatequery.setstring("email", subscriber.getemailaddress());     if (subscriber.getdivisionmembership() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.divisionmembership.tostring()))         hibernatequery.setlong("divisionmembership", subscriber.getdivisionmembership());     if (subscriber.getdivisionsubscriptionstatus() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.divisionsubscriptionstatus.tostring()))         hibernatequery.setlong("divisionsubscriptionstatus", subscriber.getdivisionsubscriptionstatus());     if (subscriber.getpostalcode() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.postalcode.tostring()))         hibernatequery.setstring("postalcode", subscriber.getpostalcode());     if (subscriber.getprefersmobile() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.prefersmobile.tostring()))         hibernatequery.setinteger("prefersmobile", subscriber.getprefersmobile());     if (subscriber.getlastsuppressedtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastsuppressedtime.tostring()))         hibernatequery.settimestamp("lastsuppressedtime", utils.getgmtdatefromlocaldate(subscriber.getlastsuppressedtime()));     if (subscriber.getemailprogram() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.emailformat.tostring()))         hibernatequery.setlong("emailprogram", subscriber.getemailprogram());     if (subscriber.getdeademailtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.deademailtime.tostring()))         hibernatequery.settimestamp("deademailtime", utils.getgmtdatefromlocaldate(subscriber.getdeademailtime()));     if (subscriber.getdatecreated() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.datecreated.tostring()))         hibernatequery.settimestamp("datecreated", utils.getgmtdatefromlocaldate(subscriber.getdatecreated()));     if (subscriber.getlastmodifiedtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastmodifiedtime.tostring()))         hibernatequery.settimestamp("lastmodifiedtime", utils.getgmtdatefromlocaldate(subscriber.getlastmodifiedtime()));        // hibernatequery.settimestamp("lastmodifiedtime", utils.parsedateiso8601(subscriber.getlastmodifiedtime()));     if (subscriber.getsubscribed() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.subscribed.tostring()))         hibernatequery.setinteger("subscribed", subscriber.getsubscribed());     if (subscriber.getlastmodifiedonwebtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastmodifiedonwebtime.tostring()))         hibernatequery.settimestamp("lastmodifiedonwebtime", utils.getgmtdatefromlocaldate(subscriber.getlastmodifiedonwebtime()));     if (subscriber.getlastsubscribedtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastsubscribedtime.tostring()))         hibernatequery.settimestamp("lastsubscribedtime", utils.getgmtdatefromlocaldate(subscriber.getlastsubscribedtime()));     if (subscriber.getlastunsubscribedtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastunsubscribedtime.tostring()))         hibernatequery.settimestamp("lastunsubscribedtime", utils.getgmtdatefromlocaldate(subscriber.getlastunsubscribedtime()));     if (subscriber.getlastreferredtime() != null && !lookupkeys.iscolumnnamealookupkey(oraclestandardattributenames.lastreferredtime.tostring()))         hibernatequery.settimestamp("lastreferredtime", utils.getgmtdatefromlocaldate(subscriber.getlastreferredtime()));      // execute insert     hibernatequery.executeupdate();      // return managed subscriber     return findbycustomerdefinedid(subscriber.getcustomerdefinedid(), lookupkeys); } 

please let me know of possible apporach. in advance.

regards, rakesh

if store java.lang.date in database, need tell hibernate or jpa "part" of date should stored. in jpa , hibernate (with annotations) done @temporal annotation.

  • time - time of day
  • date - date
  • timestamp - date time

for example:

@temporal(temporaltype.timestamp) private date mydate; 

@see: hibernate reference temporal


Comments

Popular posts from this blog

c++ - CryptStringToBinary API behavior -

c++ - Correct method for redrawing a layered window -

java.util.scanner - How to read and add only numbers to array from a text file -