0

アプリケーションの各従業員の写真をプロファイルの横に保存し、ユーザーがこの従業員プロファイルを開くたびにこの写真を取得しようとしているので、次のクラスを作成しました。

public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="EMPLOYEE_ID")
private Long id;
.
//many other fields goes here...
.
@OneToOne(cascade={CascadeType.ALL})
@PrimaryKeyJoinColumn
private EmployeePicture employeepicture;    
}

public class EmployeePicture {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="EMPPIC_ID")
private Long id;

@Column(name="EMPLOYEE_PIC")
@Lob
private Blob employeePicture;
}

次に、もちろん、既に持っている EmployeeDAO クラスに加えて、次の DAO クラスを作成しました...

@Repository
public class EmployeePictureDAO implements IEmployeePictureDAO {

@Autowired
SessionFactory sessionfactory;

public void saveEmployeePicture(EmployeePicture employeepicture) {
sessionfactory.getCurrentSession().save(employeepicture);
}
public void updateEmployeePicture(EmployeePicture employeepicture) {
sessionfactory.getCurrentSession().update(employeepicture);
}
public void deleteEmployeePicture(EmployeePicture employeepicture) {
sessionfactory.getCurrentSession().delete(employeepicture);
}
public EmployeePicture getEmployeePictureByPK(Long id) {        
return (EmployeePicture)sessionfactory.getCurrentSession().get(EmployeePicture.class,id);
}
}

サービス層クラスの時点で、データと画像の両方が同時に保存/更新および削除されるため、EmployeeDAO メソッドと EmployeePictureDAO メソッドの両方を呼び出すと思われる EmployeeService クラスしかありません。しかし、残念ながら、JSP から / へ画像を保存 / 取得する方法を (Web を検索した後に) 理解または見つけることができません。サービス/コントローラークラスとJSP内で従業員の画像を保存/取得する方法のサンプルコードを教えてください。

御時間ありがとうございます

4

3 に答える 3