From: Lew on
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
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
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
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
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