有時候因為資料存放的關係,會把陣列資料轉成字串存入DB的欄位裡面, 但是要處理資料的時候需要再轉成字串,這時候就需要用到下面這個例子 @Entity @Table(name = "test") public class test1 { @Id @Column(name="id") private int id ; @Column(name="auid") private String auid ; @Column(name="ip") private String ip ; //如果只有這樣會報錯 //@Column(name="test") //private List test=new ArrayList (); //所以我們需要增加一個轉換標籤 @Column(name="test") @Convert(converter = ListToStringConveter.class)//需要自訂一個轉換的class private List test=new ArrayList (); //get set 那些省略.... } 自訂轉換方式,先implements AttributeConverter 這裡用 List , String 當例子: @Converter(autoApply=true) public class ListToStringConveter implements AttributeConverter , String> { //陣列資料轉字串 @Override public String convertToDatabaseColumn(List attribute) { if (attribute == null || attribute.isEmpty()) { return ""; } String str = .....//自訂轉換的方式... ...
留言
張貼留言