2011-06-16 103 views
0

单个实体内的序列我有使用JPA注释一个映射类,我希望它使用两个单独的序列有两个字段:休眠:两次与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自动生成ID,并从message_received_sequence自动生成sequenceReceived。

回答

0

只能在主键上使用由数据库值生成。

但是Hibernate(Hibernate Annotations项目)可以支持这个,如果只有字段sequenceReceived也会是Id(复合Id的一部分)。