JPA:在非id列上使用@GeneratedValue
我试图持久化一个实体,该实体具有我希望从DB序列填充的属性。我使用的是Oracle,已经创建了序列,通过sql验证了序列的有效性,但是我的属性没有得到填充。以下是我所拥有的: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
@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]: