のBLOBファイルを保存するためにどのように私はこのEntityクラスにデータベース
@Entity
public class ScannedFile {
@Column(nullable = true)
private Blob content;
@Column(nullable = true)
private byte[] photo;
}
を持っていると私は、データベース内の画像ファイルを保存しようとしました。私は2つの解決策を見つけ、両方を試しました。しかし誰も私のために働いていません。アップロード写真がデータベースに保存されていない:ここで私は、バイト配列
private Part file1;
public String upload() throws IOException{
InputStream inputStream = file1.getInputStream();
ScannedFile created = new ScannedFile();
created.setId(this.scannedFile.getId());
byte[] photo = IOUtils.toByteArray(inputStream);
created.setPhoto(photo);
ScannedFile newScannedFile = this.scannedFileRepository.save(created);
}
問題を使用して
1を試みたものです。しかし、それは間違いもない。私はここで何が欠けているのですか?ブロブ
を使用して2.
private static void initSession() { Configuration configuration = new Configuration().configure(); serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); session = sessionFactory.openSession(); session.beginTransaction(); } private static void endSession() { session.getTransaction().commit(); session.close(); StandardServiceRegistryBuilder.destroy(serviceRegistry); } private Part file1; public String upload() throws IOException{ Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); InputStream inputStream = file1.getInputStream(); Blob blob = Hibernate.getLobCreator(session).createBlob(inputStream, 200); ScannedFile created = new ScannedFile(); created.setContent(blob); ScannedFile newScannedFile = this.scannedFileRepository.save(created); endSession(); }
問題:私は、このエラーhibernate.cfg.xml not found
を取得します。しかし、私は本当にこのXMLファイルを使用したくありません。では、どうすればこのエラーを取り除き、アップロードしたイメージをデータベースに保存することができますか?
注:私は今、春とjsfを数日間学習しています。私は同じアプリケーションでjsfとspringの両方を使用しています。私もh2データベースを使用しています。
ここで使用している 'テーブル 'を教えてください。 –
ScannedFileがテーブルです。私はh2のコンソールからそれを確認した –