私はGrailsを初めて使用し、少しずつ学んでいますが、これには本当に苦労しています。
わかりましたので、Grails のクラスからデータを提示しようとしています。データを mySQL データベースに保存します。クラスに「id」と呼ばれる整数のパラメーターがある場合はすべて正常に機能しましたが、Grails がデータベース テーブルの「id」行を自動的に割り当てることが判明したため、それを削除しました。さて、このコードを gsp で実行すると:
<g:each in="${Proposal.where {id == 1} }" var="proposal">
<h3>
${proposal.name}
</h3>
<p>
Starting date: <g:formatDate format="dd.MM.yyyy" date="${proposal.date_started}" />
</p>
<p>
ending date:: <g:formatDate format="dd.MM.yyyy" date="${proposal.date_ended}" />
</p>
<p>
description: ${ proposal.description }
</p>
</g:each>
「id == 1」の部分は、ダミー データを取得するためのものです。データベースに id が 1 の行があることを確認しました。動的詳細ページ。
このページに移動しようとすると、次のエラーが発生します。
URI /site/proposal/
クラス java.lang.ClassCastException
メッセージ java.lang.Integer は java.lang.Long にキャストできません
スタック トレースは、これが発生した場所を表示する以上のことはしていないようで、前述のコードの場所を示しています。データベース テーブルには、bigint である「id」という名前の列があります。Grails はこの種のデータ型の不一致を処理できるべきではないでしょうか? どちらにしても、Integer クラスの long と bigint のサブセットではありませんか?
逆方向にデータをリストしようとしていますか? 使用するより良いタグはありますか? 私は混乱していて、お茶が必要です。