2009-07-24 19 views
4
私は、私が持っているPictureDAO私は

ストアや休止状態

@Entity 
@Table(name = "picture") 
public class PictureEntity implements Serializable { 

    @Id 
    @Column(name = "id") 
    @GeneratedValue 
    private int id; 
    @Column(name = "format", length = 8) 
    private String format; 
    //@Basic(fetch = FetchType.LAZY) 
    @Lob 
    @Column(name = "context", nullable = true, columnDefinition = "mediumblob") 
    private java.sql.Blob myBlobAttribute; // or byte[] no diff 
    @ManyToOne(fetch = FetchType.EAGER) 
    @JoinColumn(name = "branch_fk", referencedColumnName = "id", nullable = false) 
    private BranchEntity branch; 

また、このクラスのマッピングを持っている(のMySQLへの)休止状態の助けを借りて、画像を保存するための最良の方法 であるかを知りたい

て画像を取得します。 Imageを保存して取得するためにMy PictureDAOを実装する方法を知りたい

+0

myBlobAttribute値の設定/取得はそれを行いません。どのエラーがありますか?何を試しましたか? em.persist(エンティティ)、em.find(エンティティ、id) –

答えて

5

バイト配列のバージョンはシンプルです。

public class PictureEntity implements Serializable { 
    private byte[] imageBytes; 

    public BufferedImage getImage() { 
     InputStream in = new ByteArrayInputStream(imageBytes); 
     return ImageIO.read(in); 
    } 

    public void setImage(BufferedImage image) { 
     ByteArrayOutputStream out = new ByteArrayOutputStream(); 
     ImageIO.write(image, "PNG" /* for instance */, out); 
     imageBytes = out.toByteArray(); 
    } 
} 
+0

?あなたは完了するのを忘れるか、あまりにも短い書き込みをしたいですか? – Am1rr3zA

+0

申し訳ありませんが、エラーでフォームを送信しました。 –

+0

あなたのためのTanx編集するが、それは私を助けていない私はセッターとゲッタが欲しいdunを望むPictureDAoの実装をしたい – Am1rr3zA