加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JPA:在非id列上使用@GeneratedValue

发布时间:2020-12-14 19:34:25 所属栏目:Java 来源:网络整理
导读:我试图坚持一个具有我想要从DB序列填充的属性的实体.我正在使用Oracle,创建了序列,通过sql验证了序列的工作原理,但我的属性却没有填充.这就是我所拥有的: @GeneratedValue(generator = "RFQ_LINE_IDS_SEQUENCE",strategy=GenerationType.SEQUENCE)@Sequence
我试图坚持一个具有我想要从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实现(例如 DataNucleus JPA)支持它,但不是全部支持它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读