>

프로젝트에서 어딘가에서 unitOfIssue 와 함께 작업해야합니다  와이즈 비츠 . 이제 다양한 항목은 다른 표현 단위를 가질 수 있습니다. 그래서이 상황을 우아하게 처리하기 위해 API 나 다른 방법을 찾고있었습니다.

이 단위를 나타내는 방법을 제공하는 사용 가능한 API가 있습니까? JScience 에 대해 들었지만 인상적이지만 다시 Items 에서 매핑하는 데 다른 문제가 있습니다. . 일부 Google 작업 후이 컨텍스트에서 일부 작업이 진행되고 있음을 알았습니다. JScience-JPA , 그러나 생산에 사용하기에는 아직 안정적이지 않은 것 같습니다.

JSR-275 이지만 이 JCP 페이지 에서 거부되었습니다.

그런데 unitsofmeasure 를 보았는데 아직 세부적인 내용은 다루지 않았습니다. 그러나 다시 같은 문제가 발생합니다. JPA와 매핑 할 수 있습니까?

수정 :-이 SO 질문에서 단위가있는 Java 숫자 를 발견했지만 프로덕션 준비가되었는지 알 수 없습니다. 또는 아닙니다.

위의 옵션을 본 후 특히 혼란스러워합니다. 그리고 JPA는 내가 사용할 수 있는지에 대한 추가 관심사입니다. 그런 종류의 상황에 처한 사람이 있습니까? 정말 도움이 필요합니다. 무엇을 사용해야합니까? 그리고 다른 방법이 없다면, 이러한 단위를 나타내는 적절한 방법이 될 것입니다. 내가 보는 한 가지 방법은 JPA 를 사용하는 것입니다. . 물론 마지막 선택입니다.

enums
  • 답변 # 1

    저는 JSR-275를 광범위하게 사용하는 프로젝트에있었습니다 (JCP가 거부하기 전). 원래 우리는 JPA를 사용하지 않았지만 나중에 JPA 2.0을 사용하여 모델을 유지하기로 결정했고 측정 개체의 지속성을 처리해야했습니다.

    이것은 귀하의 질문에 대한 답변이 아닐 수도 있지만 토론에 흥미로운 생각을 가져올 수도 있습니다.

    우리는 여러 대안을 고려했다 :

    <올>

    측정은 직렬화 가능했으며 JPA는 모든 직렬화 가능 객체를 매핑 할 수 있습니다. 여기서 문제는 측정 값이 데이터베이스에 이진 개체로 저장되고 모든 직렬화 문제 (예 : 버전 관리 등)에 종속 될 수 있다는 것입니다.

    모든 단위에 대해 국제 측정 단위 사용에 동의하는 경우 데이터를 원시 유형 (예 : 정수, 이중 등)으로 유지하여 모델을 조정할 수 있습니다. 따라서 필드는 JPA 지원 유형을 기반으로하지만 게터 및 세터는 측정 개체를 사용합니다. 특성이 아닌 필드를 기반으로 JPA 맵핑을 구성하십시오. 여기서 문제는 도메인 개체의 공개 인터페이스에 영향을주지 않으면 서 캡슐화 된 데이터를 변경하기 위해 모델을 변경해야했습니다.

    지속성 공급자로 최대 절전 모드를 사용하고 있으므로 JPA 표준에서 벗어나고 최대 절전 모드 사용자 지정 값 형식을 사용하여 측정 개체를 해당 기본 형식에 매핑 할 수 있습니다. 그런 다음이 목적을 위해 최대 절전 모드 주석을 사용하여 유형을 매핑 할 수 있습니다. (여기의 예를 참조하십시오). 이것에 대한 경고는 지속성 벤더 독립성을 잃고 있습니다.

    대안 # 3을 사용하게되었는데 우리에게는 꽤 효과가있었습니다.

  • 답변 # 2

    자신이 직접 작성하는 것이 좋습니다. 아마도 당신은 Unit Of Measure Conversion 가 필요할 수 있습니다  또한

    ARTS 소매 데이터 모델 논리보기에서 UOM 정의

    및 전환

  • 이전 c# - 문자열 오름차순, int 오름차순의 두 가지 기준으로 정렬
  • 다음 java - GregorianCalendar와의 이상한 행동