BeanProcessor を使用してクラスにデータを入力しようとしていますが、部分的に機能します。私のクラスは次のとおりです
アドレスクラス
public class Address {
..All attributes of address class go here...
.. All setter and getters go here...
}
address クラスをメンバとして持つ Employee クラス
public class Employee {
private int ID;
private String fname;
private String lname;
private String mobile;
private String phone;
private String email;
private String position;
private String title;
private String username;
private String password;
private String question;
private String answer;
private Address address; << address class is a member of employee class
.. All setter and getters go here....
}
私のモデルは次のとおりです。
Employee emp = new Employee();
try {
ps = con.prepareStatement("select * from employee,address "
+ "WHERE employee.username = ? AND "
+ "employee.AddID = address.ID");
ps.setString(1, username);
ResultSet r = ps.executeQuery();
if (r.next()) {
BeanProcessor bp = new BeanProcessor();
emp = bp.toBean(r,Employee.class);
System.out.println("name:" + emp.getName()); << shows the name correctly
System.out.println("block:"+emp.getAddress().getBlock());<< the output is null
}
con.close();
ps.close();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
return emp;
}
アプリケーションを実行すると、emp オブジェクトは正しく取り込まれているが、その中の Address オブジェクトは正しく取り込まれていないことが示され、getBlock() メソッドに対して null が返されます。データベース ブロックに値があることを確認しました。スピリットウォーカーの答えによると、nullpointer例外をスローしていないため、変換は正しく行われます.それが間違っている場合、BeanProcessorの代替としてのあなたの提案は何ですか?