id, name, description 속성을 가진 Category 클래스가 있습니다.다국어 지원을위한 Hibernate 매핑
해당 사용자가 이름과 설명을 다국어 입력하고 저장할 수 있기를 바랍니다.
클래스의 구조와 최대 절전 매핑은 무엇이되어야합니까?
이것은 주석이있는 코드입니다. 하지만 데이터베이스에 물건을 넣지 수 :
@Entity
@Table(name = "category")
public class Category {
@Id
@GeneratedValue
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
private Integer id;
private Map<String, TranslatedString> name;
private Map<String, TranslatedString> description;
@ElementCollection
@CollectionTable(name = "translated_string")
@MapKeyJoinColumn(name = "langCode")
public Map<String, TranslatedString> getName() {
return this.name;
}
public void setName(Map<String, TranslatedString> name) {
this.name = name;
}
@ElementCollection
@CollectionTable(name = "translated_string")
@MapKeyJoinColumn(name = "langCode")
public Map<String, TranslatedString> getDescription() {
return this.description;
}
public void setDescription(Map<String, TranslatedString> description) {
this.description = description;
}
}
@Embeddable
public class TranslatedString {
public Integer getTid() {
return tid;
}
public void setTid(Integer tid) {
this.tid = tid;
}
private Integer tid;
private String langCode;
@Column(name = "langCode")
public String getLangCode() {
return langCode;
}
public void setLangCode(String langCode) {
this.langCode = langCode;
}
private String text;
@Column(name = "text")
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
나는 두 개의 테이블이 있습니다 translated_string을 : 아이디, name_id.error가
나는이 정보 메시지가 무엇입니까를 description_id : TID는, 텍스트, 범주를 langCode 최대 절전 모드 : hibernateTemplate으로 카테고리를 저장하려면 카테고리 값 ( )에 삽입하십시오.
내가 ID로 카테고리를 찾으려 할 때, 그것은 CATEGORY_ID 또는 name_KEY 필드가없는 내 translated_string 테이블 때문에
select
name0_.Category_id as Category1_0_0_,
name0_.langCode as langCode0_,
name0_.text as text0_,
name0_.tid as tid0_,
name0_.name_KEY as name5_0_
from translated_string name0_
where name0_.Category_id=?
을 실행, 난 내가 매핑에 문제가있는 것 같아요.
어디서 잘못 되었나요?
에게 좋은 질문! 내 생각 엔 당신이 각 언어에 대해 하나의 색인을 만들 필요가있다. (당신이 그것들을 섞고 싶지 않다면) 그러나 매핑에 대해서는 전혀 모르겠다. 어쩌면 매핑 파일에서 request_locale을 사용하고 있을까? –
TransaltedString이란 무엇입니까? – Firo