我在Hibernate框架的初学者,现在我集成Spring和Hibernate在一个项目。 我跑了就OK了,但它有一些我不明白为什么。 问题是:
我有bean类描述下在这里:
@Entity
@Table(name = "Sample")
public class Sample {
private int id;
private String firstName;
private String lastName;
private String sex;
private String[] interests;
@Id
@GeneratedValue
@Column(name = "id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name = "firstName")
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Column(name = "lastName")
public String getLastName() {
return lastName;
}
public void setSex(String sex) {
this.sex = sex;
}
@Column(name = "sex")
public String getSex() {
return sex;
}
public void setInterests(String[] interests) {
this.interests = interests;
}
@Column(name = "interests")
public String[] getInterests() {
return interests;
}
}
在这个类,你看,我有兴趣领域是字符串数组这表明许多复选框。
在DAO,当控制器调用对象保存到数据库中,我只是用hibernateTemplate.saveOrUpdate(sample)
班春坚持对象。
如果数据库使用的默认字符集,它的确定,运行,没有任何错误,但是当我在数据库系统中,选择表,它告诉我一个无法读取的字符串,它类似于¬í ur [Ljava.lang.String;ÒVçé{G xp t Quidditcht Herbology
。 我认为这是“占位符”,这给了Hibernate的分裂时,我想读,并填回的对象。
但问题是,如果数据库系统使用UTF8字符集,它不能运行,类似于抛出异常Incorrect string value: '\xAC\xED\x00\x05ur...' for column 'interests' at row 1
我想是因为该字符串不与UTF8字符集数据库支持。
关于这事吗?
谢谢!