반응형
JPA를 사용 한 맵 저장
주석을 사용하여 지속할 수 있는지 궁금합니다.attributes
JPA2를 사용한 다음 클래스의 맵
public class Example {
long id;
// ....
Map<String, String> attributes = new HashMap<String, String>();
// ....
}
델은 이미 기존의 실가동 데이터베이스를 보유하고 있기 때문에 이상적인 것은 다음과 같습니다.attributes
는 다음 기존 테이블에 매핑할 수 있습니다.
create table example_attributes {
example_id bigint,
name varchar(100),
value varchar(100));
JPA 2.0은 다음을 통해 기본 모음을 지원합니다.@ElementCollection
서포트와 함께 사용할 수 있는 주석java.util.Map
수집.다음과 같은 것이 동작합니다.
@Entity
public class Example {
@Id long id;
// ....
@ElementCollection
@MapKeyColumn(name="name")
@Column(name="value")
@CollectionTable(name="example_attributes", joinColumns=@JoinColumn(name="example_id"))
Map<String, String> attributes = new HashMap<String, String>(); // maps from attribute name to value
}
도 참조해 주세요(JPA 2.0 사양).
- 2.6 - 임베디드 가능 클래스 및 기본 유형 모음
- 2.7 지도 컬렉션
- 10.1.11 - Element Collection 주석
- 11.1.29 MapKeyColumn 주석
@ElementCollection(fetch = FetchType.LAZY)
@CollectionTable(name = "raw_events_custom", joinColumns = @JoinColumn(name = "raw_event_id"))
@MapKeyColumn(name = "field_key", length = 50)
@Column(name = "field_val", length = 100)
@BatchSize(size = 20)
private Map<String, String> customValues = new HashMap<String, String>();
다음은 열과 테이블 이름 및 필드 길이를 제어하는 맵을 설정하는 예를 보여 줍니다.
언급URL : https://stackoverflow.com/questions/3393649/storing-a-mapstring-string-using-jpa
반응형
'programing' 카테고리의 다른 글
프로그램 방식으로 SearchView를 열려면 어떻게 해야 합니까? (0) | 2023.02.01 |
---|---|
MySQLi가 준비한 문 오류 보고 (0) | 2023.02.01 |
VueJs, ReferenceError: google이 정의되지 않았습니다. (0) | 2023.02.01 |
프록시를 통해 CURL을 사용하는 방법 (0) | 2023.02.01 |
"else"가 없는 JavaScript의 3진 연산자 (0) | 2023.02.01 |