0

我有一个使用 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进入实体。我该怎么做。

注意:为澄清起见,我希望从 的下一个值自动生成 ID local_key_sequence,并从 自动生成 sequenceReceived message_received_sequence

4

1 回答 1

0

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

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

于 2011-06-16T19:41:21.040 回答