6

DBシーケンスから入力したい属性を持つエンティティを永続化しようとしています。Oracleを使用しており、シーケンスを作成し、SQLを介してシーケンスが機能することを確認しましたが、属性が入力されていません。これが私が持っているものです:

@GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE", strategy=GenerationType.SEQUENCE)
@SequenceGenerator(name="RFQ_LINE_IDS_SEQUENCE", sequenceName="RFQ_LINE_IDS_SEQUENCE", allocationSize=1000000000)
@Column(name = "external_line_item_id")
private String externalLineItemId;

オンラインで見たすべての例は、このアノテーションが@Idで使用されていることを示していますが、IDに使用している別の属性があります。

私はまた、無駄に次のことを試みました:

@GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE", strategy=GenerationType.SEQUENCE)
@GenericGenerator(name = "RFQ_LINE_IDS_SEQUENCE", strategy = "sequence",
  parameters = {@Parameter(name = "sequence", value = "RFQ_LINE_IDS_SEQUENCE")})
@Column(name = "external_line_item_id")
private String externalLineItemId;
4

2 に答える 2

4

JPA は、@Id フィールドでの @GeneratedValue のサポートのみを義務付けています。一部の JPA 実装 ( DataNucleus JPAなど) はそれをサポートしていますが、すべてがサポートしているわけではありません。

于 2013-03-06T16:28:04.873 に答える