猿问

Spring 集成Mybatis 使用@GeneratedValue设置ID生成策略时,报错了

 @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;

设置ID的生成策略;后台提示异常信息:

1.全部数据库通用的@GeneratedValue(generator="UUID")

2.useGeneratedKeys的@GeneratedValue(generator=\"JDBC\")  

3.类似mysql数据库的@GeneratedValue(strategy=GenerationType.IDENTITY[,generator="Mysql"])

意思是不支持这种方式吗?

Crazynew
浏览 17288回答 5
5回答

慕慕5256561

@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。 在javax.persistence.GenerationType中定义了以下几种可供选择的策略: –IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; –AUTO: JPA自动选择合适的策略,是默认选项; –SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 –TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。应该是数据库的问题不支持

qq_慕斯6433432

请问最后怎么解决的,我也遇到了

youngledo

这个是使用了通用Mapper的问题吧mybatis绝壁不会提示中文

Crazynew

我用的是Eclipse

大叔_fighting

idea?插件都下好没
随时随地看视频慕课网APP

相关分类

Java
我要回答