2014-10-23 2 views
0

JPA (최대 절전 모드)를 사용하고 있는데 이와 같은 시퀀스를 만들고 싶습니다.JPA/Hibernate에서 열없이 시퀀스 생성기를 생성하고 사용할 수 있습니까?

CREATE SEQUENCE my_seq 
    INCREMENT 1 
    MINVALUE 1 
    MAXVALUE 999999 
    START 1; 

이 시퀀스는 특수 열이나 테이블에 할당하면 안됩니다. 난 그냥 다음 값을 조회 할 수 있도록하려면 :

SELECT nextval('my_seq') 

이렇게함으로써 나는 내가 좋아하는 무엇에 대한 고유 ID를 생성하는 좋은 수있을 것입니다. 나는 당신이 스크립트에 의해 Event_Seq을 만들거나 Hibernate는 (당신이 스키마 생성을 사용하는 제공) 생성을 위해 그것을 남길 수 있습니다 최대 절전 모드 4.2과 PostgreSQL 9.3

+0

SQL 쿼리를 사용하십시오. 끝난. 이 쿼리에 대해서는 http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#createNativeQuery%28java.lang.String%29 –

+0

을 사용해도됩니다. – Marcel

+0

어느 시점에서 (예 : FlywayDB 또는 Liquibase) SQL 스크립트 또는 데이터베이스 설정/마이그레이션 도구가 필요합니다. 나는 그것을하기 위해 Hibernate에 의지하기보다는 즉시 그것들을 사용할 것이다. –

답변

0
@Entity 
public class Event implements Serializable { 
    @SequenceGenerator(name="Event_Seq", sequenceName="Event_Seq", initialValue = 1, allocationSize = 1) 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "Event_Seq") 
    @Id 
    private Long id; 
} 

을 사용하고 있습니다 : Btw는

. 또한 시퀀스를 지원하는 DB가 필요합니다.

+0

시퀀스를 사용하기 위해 분리 된 엔티티를 생성하고 싶지 않습니다. – Marcel

+0

당신은 필요가 없습니다. 그것은 단지 예일뿐입니다. – zbig

관련 문제