Hibernate: две последовательности в одной сущности с JPA - PullRequest
0 голосов
/ 16 июня 2011

У меня есть класс отображения, использующий аннотации JPA, и я хочу, чтобы он использовал две отдельные последовательности для двух полей:

@Entity
@Table(name="my_table", schema="schema") 
@SequenceGenerator(name="sequence",sequenceName="schema.local_key_sequence")
@SequenceGenerator(name="orderSequence",sequenceName="schema.message_received_sequence")
public class MyClass
{
    @Id
    @Column(name="unique_key",unique=true)
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sequence")
    private long id; 

    @Column(name="sequence_received")        
    @GeneratedValue( strategy = GenerationType.SEQUENCE,generator="orderSequence" )
    private long sequenceReceived;
    [...]
}

Однако JPA запрещает мне вводить @SequenceGenerator в сущности. Как мне это сделать.

Примечание: для пояснения я хочу, чтобы идентификатор генерировался автоматически из следующего значения local_key_sequence, а sequenceReceived создавалось автоматически из message_received_sequence.

1 Ответ

0 голосов
/ 16 июня 2011

Вы можете использовать Генерируемое по базе данных значение только для Первичных ключей.

Однако Hibernate (проект аннотаций Hibernate) может поддерживать это, если только поле sequenceReceived будет также Id (частью составного Id).

...