[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 メーリングリストの案内