How is a blob column annotated in Hibernate?

你离开我真会死。 提交于 2019-11-27 02:03:44

问题


How is a blob column annotated in Hibernate? So far I have a class that has:

@Column( name = "FILEIMAGE" )
private byte[ ] fileimage ;
//
public byte[ ] getFileimage ( ) { return this.fileimage ; }
public void setFilename ( String filename ) { this.filename = filename ; }

回答1:


@Lob should do the trick for blob and clob (use String as type)

@Column( name = "FILEIMAGE" )
@Lob(type = LobType.BLOB)
private byte[] fileimage;



回答2:


I used hibernate 4 in JBoss 7 and Java 7, and found out the BLOB column in my table doesn't work like what I have for hibernate 2. Fortunately, I solved it by reading other people solutions. My solution:

  1. Table in db, the column still defined in BLOB; change the hibernate mapping from type="blob" to type="binary"
  2. In Java getter/setter, using byte[] instead of BLOB (javax.sql)
  3. Change in the Java code which get and set this column properly. If involving InputStram, use byte[] to read/write to BLOB column; If reading from DB by using java.sql.ResultSet, make sure use getBytes() instead of getBlob() method.


来源:https://stackoverflow.com/questions/939673/how-is-a-blob-column-annotated-in-hibernate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!