2011-10-28 1 views
1

allocationSize 일종의 "리팩터"를 수행하여 각 엔티티 내에 구성하지 않고 perssitence.xml에 넣을 수 있습니까? ? 여기 어떻게 엔티티 대신 persistence.xml 내에서 allocationSize를 구성합니까

내가하고 싶지 않아요 내용은 다음과 같습니다

여기
@SequenceGenerator(name="AGENT_IDAGENT_GENERATOR", sequenceName="AGENT_SEQ", allocationSize=1) 

내가

<properties> 
     <property name="allocationSize" value="1"/> 
    </properties> 
</persistence-unit> 

감사의 사전

답변

1

persistence.xml에서 SessionCustomizer를 사용하고 세션의 로그인 Sequence 객체를 반복하고 사전 할당 크기를 설정할 수 있습니다.

할당 크기가 1 인 경우 권장하지 않으며 성능이 좋지 않으므로 기본값을 사용하는 것이 좋습니다.

+0

allocationSize = 1에 동의합니다. 그러나 OP에 연속 ID가 없어야합니다. 일부 ID 블록을 할당 한 후 서버가 충돌하면 ID의 '구멍'이 생길 수 없습니까? 그런데 SessionCustomizer는 무엇입니까? Eclipselink의 특정 기능입니까? –

+1

예, SessionCustomizer는 EclipseLink에만 해당되며 API 및 고급 기능에 액세스 할 수 있습니다. – James

+0

Thanks James :-) –

1

에있을 것으로 예상하고있어 무엇을하면 그 다음, JPA 솔루션을 원하는 persistence.xml에 넣을 수 없습니다. orm.xml

을 사용하면됩니다.
+0

하지만 다시 - 모든 엔티티에 별도의 SequenceGenerator가 있으면 'allocationSize = 1'이 orm.xml의 모든 SequenceGenerator 요소에 있어야합니다. 맞습니까? 모든 시퀀스 생성기에 대해 'allocationSize에 대해 50의 대체 기본값'이 없습니까? –

+1

물론 각 항목은 개별적으로 지정됩니다. JPA 스펙에 따라 해당 속성에 대한 "지속성 단위 기본값"이 없습니다. JPA 구현 자체는 일반적으로 글로벌 기본값을 제공하므로 DataNucleus는 확실합니다. 그러나 우리는 항상 스펙을 고수하도록 권장합니다. – DataNucleus

+0

@DataNucleus를 확인해 주셔서 감사합니다. 방금 OP가 1 대 1 해결책을 요구하고 있다고 생각했습니다. –

관련 문제