From: Lew on 15 Oct 2009 14:20 On Oct 15, 12:49 pm, Mongoose <verygoofy...(a)gmail.com> wrote: > On Oct 15, 2:42 am, ck <chandankuma...(a)gmail.com> wrote: > > > On Oct 14, 7:53 pm, Mongoose <verygoofy...(a)gmail.com> wrote: > > > > On Oct 14, 10:32 am, Lew <l...(a)lewscanon.com> wrote: > > > However, I don't think the case is the root cause of the problem > > > because when I change the ReportDateTime from a Date to a String in > > > the Defect Class it works fine with the current case . . . . > > > As suggested by Lew, did you try using "timestamp"? > > -- > > Ck > > Lew/Ck, > > I tried to change all "date" types to "timestamp" types in the > hibernate .xml file but get the same error . . . Prepare us an SSCCE: <http://sscce.org/> that illustrates your problem. That means we need *complete* (but simplified) Java code, DDL and mapping XML. As it stands your XML shows all kinds of columns for which you don't show DDL or Java code, your spelling violates the naming conventions, and you don't even tell us what the type of attribute 'reportdatetime' [sic] is. You don't just declare a field map to Hibernate type 'timestamp' willy- nilly; you have to match the Java-side and Hibernate-side types, thus 'java.sql.Timestamp' maps to Hibernate 'Timestamp', but 'java.util.Date' does not, necessarily. You have to check the Hibernate documentation for the exact correspondences; I don't remember them all off the top of my head. It's something like java.sql.Date -> date java.sql.Time -> time java.sql.Timestamp -> timestamp etc. Remember, to get good help you need to provide an SSCCE. -- Lew
From: Mongoose on 15 Oct 2009 14:25 On Oct 15, 12:49 pm, Mongoose <verygoofy...(a)gmail.com> wrote: > On Oct 15, 2:42 am, ck <chandankuma...(a)gmail.com> wrote: > > > On Oct 14, 7:53 pm, Mongoose <verygoofy...(a)gmail.com> wrote: > > > > On Oct 14, 10:32 am, Lew <l...(a)lewscanon.com> wrote: > > > However, I don't think the case is the root cause of the problem > > > because when I change the ReportDateTime from a Date to a String in > > > the Defect Class it works fine with the current case . . . . > > > As suggested by Lew, did you try using "timestamp"? > > -- > > Ck > > Lew/Ck, > > I tried to change all "date" types to "timestamp" types in the > hibernate .xml file but get the same error . . . > > I need more information to solve this problem. Is there some logging > mechanism that might provide more info . . . > > A Ok, I think I was wrong about the "case issue" so I changed the mapping file, bean, and .jsp to camel case (thanks Lew!) Now, everything works fine except when I try to insert my dates. Now, what I have is shown below. The property in question is: "reportDt". When I try to do a Hibernate Insert for "reportDt" . . . I get "Argument Type Mismatch". A /*** Portion of Main Bean **/ public class Defect extends ActionForm { //Form Bean For the Defect Entry Screen private Integer defectId; private String description; private Integer priorityId; private Date reportDt; private Integer reporterUserId; private Integer functionalAreaId; private Integer statusId; private String severity; private Integer teamLeadId; private Date detectionDateTime; private Integer estFixTime; private Integer actFixTime; private Date statusDate; private Integer assignedToUserId; private Date assignedToDate; private Integer fixedByUserId; public Date getReportDt() { return reportDt; } public void setReportDt(Date reportDt) { this.reportDt = reportDt; } /******** End Portion of Main Bean *************/ /************ Portion of Hibernate Mapping .xml ************/ <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="gov.ohio.odjfs.struts"> <class name="Defect" table="Defect"> <id name="defectId" type="integer" column="DEFECTID"> <generator class="native"/> </id> <property name="description" type="string"/> <property name="priorityId" type="integer"/> <property name="reportDt" type="timestamp" column="REPORTDATETIME"/> <property name="reporterUserId" type="integer"/> /*********** End portion of hibernate mapping .xml *********************/ /*********** Portion of data entry form .jsp ********************/ html:html> <head> <title>adddefect</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link rel="stylesheet" href="styles/form.css" type="text/css"> </head> <body> <html:form action="adddefect" method="post"> <table class="tableinputform" > <tr> <th>Description</th> <td><html:text property="description"/></td> </tr> <tr> <th>PriorityID</th> <td><html:text property="priorityId"/></td> </tr> <tr> <th>ReportDateTime</th> <td><html:text property="reportDt"/></td> </tr> /********** End portion of data entry form .jsp ***************/
From: Lew on 15 Oct 2009 18:29 Mongoose wrote: > Ok, I think I was wrong about the "case issue" so I changed the > mapping file, bean, and .jsp to camel case (thanks Lew!) Now, > everything works fine except when I try to insert my dates. Now, what > I have is shown below. The property in question is: "reportDt". > When I try to do a Hibernate Insert for "reportDt" . . . I get > "Argument Type Mismatch". > ... > private Date reportDt; > ... > <property name="reportDt" type="timestamp" column="REPORTDATETIME"/> Side note: do not embed TAB characters in Usenet posts. Use a maximum of four spaces for each tab level instead. My previous post discusses reading the Hibernate documentation to ensure a match between the Hibernate type and the Java type. You haven't told us the Java type of 'reportDt' yet. The rule of thumb is 'java.sql.Date' for dates with day resolution (no times), 'java.sql.Time' for times without date information, and 'java.sql.Timestamp' to match SQL TIMESTAMP columns, that is, to hold date/time information. Carefully study <http://sscce.org/> for how to present a Usenet example. -- Lew
From: Mongoose on 16 Oct 2009 09:11 On Oct 15, 6:29 pm, Lew <no...(a)lewscanon.com> wrote: > Mongoose wrote: > > Ok, I think I was wrong about the "case issue" so I changed the > > mapping file, bean, and .jsp to camel case (thanks Lew!) Now, > > everything works fine except when I try to insert my dates. Now, what > > I have is shown below. The property in question is: "reportDt". > > When I try to do a Hibernate Insert for "reportDt" . . . I get > > "Argument Type Mismatch". > > ... > > private Date reportDt; > > ... > > <property name="reportDt" type="timestamp" column="REPORTDATETIME"/> > > Side note: do not embed TAB characters in Usenet posts. Use a maximum of four > spaces for each tab level instead. > > My previous post discusses reading the Hibernate documentation to ensure a > match between the Hibernate type and the Java type. > > You haven't told us the Java type of 'reportDt' yet. The rule of thumb is > 'java.sql.Date' for dates with day resolution (no times), 'java.sql.Time' for > times without date information, and 'java.sql.Timestamp' to match SQL > TIMESTAMP columns, that is, to hold date/time information. > > Carefully study <http://sscce.org/> for how to present a Usenet example. > > -- > Lew Hey Lew, I've solved this problem using the following types: DATE in Oracle 10g DATE in Hibernate Map java.sql.date in Java Application Thanks for your help . . . everything is working properly now . . . Andy
From: Lew on 16 Oct 2009 10:46 Mongoose wrote: > DATE in Oracle 10g > DATE in Hibernate Map > java.sql.date in Java Application > Be careful of your spelling. There is no 'java.sql.date' type in Java. -- Lew
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: The JRE, the sound, or the code? Next: struts2 + netbeans |