私は Wicket プロジェクトに取り組んでいて、問題があります。これが私のコードです:
private static String select_fkey = "SELECT fullname FROM PROFILE";
private static String select_table = "SELECT * FROM MESSAGE ORDER BY id DESC";
try{
String query = select_table;
Statement statement = this.connection.createStatement();
ResultSet result = statement.executeQuery(query);
while(result.next()){
this.list.add(getMessage(result));
}
}
catch(SQLException e){
throw new UnsupportedOperationException(e.getMessage());
}
private Message getMessage(ResultSet rs) throws SQLException{
Statement sender_statement = this.connection.createStatement();
ResultSet sender_result = sender_statement.executeQuery(select_fkey + " WHERE (id = " + rs.getInt("sender_id") + ")");
return new Message(rs.getInt("id"),
rs.getString("content"),
rs.getInt("sender_id"),
rs.getInt("receiver_id"),
rs.getString("datetime"),
sender_result.getString("fullname"));
}
テーブルにはこれら 5 つのフィールドがあり、送信者の名前も格納MESSAGE
するオブジェクトを定義したいと考えました。Message
問題は、実際には関連テーブルから情報を取得する方法がわからないため、この方法を試してみましたが、UnsupportedOperationException
(Apache Tomcat サーバー ログによると) をキャッチし、デプロイ エラーが発生することです。この操作を行う適切な方法はありますか? または、私は何を間違っていますか?
ちなみに、上記の関数ではなく、明らかにこの関数で実行されます。
private Message getMessage(ResultSet rs) throws SQLException{
return new Message(rs.getInt("id"),
rs.getString("content"),
rs.getInt("sender_id"),
rs.getInt("receiver_id"),
rs.getString("datetime"));
}
エラー メッセージ:
nbproject/build-impl.xml:1027: The module has not been deployed.
See the server log for details.
build-impl.xml:1027 は次のように述べています。
<nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="${forceRedeploy}"/>