[Seasar-user:12597] [SAStruts]java.sql.Dateではなくjava.util.Date を使うと例外
出羽 健一
[E-MAIL ADDRESS DELETED]
2008年 1月 22日 (火) 18:36:23 JST
出羽です。
EntityのあるDate型のプロパティにjava.sql.Dateではなく
java.util.Date を使うと以下のような例外が発生しました。
(java.sql.Dateを使うとエラーになりませんでした。)
java.lang.ClassCastException: java.lang.String
at org.seasar.extension.jdbc.types.DateSqlDateType.toSqlDate(DateSqlDateType.java:66)
at org.seasar.extension.jdbc.types.SqlDateType.toText(SqlDateType.java:94)
at org.seasar.extension.jdbc.util.BindVariableUtil.getBindVariableText(BindVariableUtil.java:152)
at org.seasar.extension.jdbc.util.BindVariableUtil.getCompleteSql(BindVariableUtil.java:100)
at org.seasar.extension.jdbc.query.AbstractQuery.logSql(AbstractQuery.java:159)
at org.seasar.extension.jdbc.query.AbstractSelect.getResultList(AbstractSelect.java:164)
at sample.action.EmpAction.list(EmpAction.java:85)
自作したActionクラス内の以下の行で発生しました。
empItems = jdbcManager.from(Emp.class)
.leftOuterJoin("dept")
.where(Beans.createAndCopy(BeanMap.class, this).prefix("where_").execute())
.orderBy("hireDate")
.getResultList();
Emp.java
@Entity
public class Emp {
@Temporal(TemporalType.DATE)
public Date hireDate;
… <省略>
}
環境はSuper Agile Strutsブランク(sa-struts-blank-rc7.zip)です。
Seasar-user メーリングリストの案内