Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA:在非id列上使用@GeneratedValue_Jpa - Fatal编程技术网

JPA:在非id列上使用@GeneratedValue

JPA:在非id列上使用@GeneratedValue,jpa,Jpa,我试图持久化一个实体,该实体具有我希望从DB序列填充的属性。我使用的是Oracle,已经创建了序列,通过sql验证了序列的有效性,但是我的属性没有得到填充。以下是我所拥有的: @GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE", strategy=GenerationType.SEQUENCE) @SequenceGenerator(name="RFQ_LINE_IDS_SEQUENCE", sequenceName="RFQ_LINE_IDS

我试图持久化一个实体,该实体具有我希望从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;

JPA只要求在@Id字段上支持@GeneratedValue。一些JPA实现(例如)支持它,但并非所有JPA都支持。

我为JPA创建了一个提案,以支持非id属性的
@GeneratedValue
。请在此处投票,将其纳入2.2

啊。。。我刚刚意识到这可能是一个dup:[hibernate jpa sequence non-id][1][1]: