?@Id? ??@GeneratedValue(strategy=GenerationType.TABLE,generator="gen")? ? @TableGenerator(name = "gen", table = "tb_generator", pkColumnName = "gen_name",?valueColumnName =?"gen_value", pkColumnValue = "GEN_PK", allocationSize = 1)? ? private Long id;設(shè)置ID的生成策略;后臺提示異常信息:1.全部數(shù)據(jù)庫通用的@GeneratedValue(generator="UUID")2.useGeneratedKeys的@GeneratedValue(generator=\"JDBC\") ?3.類似mysql數(shù)據(jù)庫的@GeneratedValue(strategy=GenerationType.IDENTITY[,generator="Mysql"])意思是不支持這種方式嗎?
5 回答
已采納

慕慕5256561
TA貢獻1條經(jīng)驗 獲得超1個贊
@GeneratedValue 用于標注主鍵的生成策略,通過strategy 屬性指定。默認情況下,JPA 自動選擇一個最適合底層數(shù)據(jù)庫的主鍵生成策略:SqlServer對應(yīng)identity,MySQL 對應(yīng) auto increment。?
在javax.persistence.GenerationType中定義了以下幾種可供選擇的策略:?
–IDENTITY:采用數(shù)據(jù)庫ID自增長的方式來自增主鍵字段,Oracle 不支持這種方式;?
–AUTO: JPA自動選擇合適的策略,是默認選項;?
–SEQUENCE:通過序列產(chǎn)生主鍵,通過@SequenceGenerator 注解指定序列名,MySql不支持這種方式?
–TABLE:通過表產(chǎn)生主鍵,框架借由表模擬序列產(chǎn)生主鍵,使用該策略可以使應(yīng)用更易于數(shù)據(jù)庫移植。
應(yīng)該是數(shù)據(jù)庫的問題不支持
添加回答
舉報
0/150
提交
取消