나는 다음 코드로 ObjectDB 데이터베이스에 일부 UTF-8 문자열을 저장하기 위해 노력하고있어 :ObjectDB JPA 데이터베이스에 UTF-8 문자열을 저장하려면 어떻게해야합니까?
ResourceBundle entries = Utf8ClassLoader.getBundle("localization/language", "fa-IR"); // fa-IR is a UTF-8 and RTL language
Enumeration<String> keys = entries.getKeys();
for (String key = keys.nextElement(); keys.hasMoreElements(); key = keys.nextElement()) {
ResourceEntity entity = new ResourceEntity();
entity.setId(new ResourceEntity.PKC(key, locale));
entity.setValue(entries.getObject(key));
resourceDAO.persistOrUpdate(entity);
}
모델 :
@Entity
public class ResourceEntity {
@EmbeddedId
private PKC id;
private Object value;
// Getters and setters omitted
@Embeddable
public static class PKC {
String key;
String locale;
public PKC() {}
public PKC(String key, String locale) {
this.key = key;
this.locale = locale;
}
// Getters and setters omitted
}
}
현지화/language_fa_IR.properties이 존재하고 제대로 열립니다.
DAO의 persistOrUpdate 메서드는 트랜잭션 내의 EntityManager.persist 함수에 지나지 않습니다.
을 (키가있는 경우와 EntityManager.merge는 않습니다)하지만이 ObjectDBViewer을 열 때, 나는이를 참조하십시오
가 어떻게 문자를 변경하지 않고 문자열을 저장할 수 있습니까?
실제로 ObjectDB에는 아무런 문제가 없었습니다. ResourceBundle 만 UTF-8이 아닌 문자열을 제공하고 있었으며 대답에이를 수정했습니다. –