Guy*_*ely 15 mysql annotations hibernate
开始一个新项目我想使用MySQL的Hibernate注释而不是我到目前为止使用的配置文件.而我似乎无法找到相当于:
<id name="id" type="long" >
<generator class="native"></generator>
</id>
Run Code Online (Sandbox Code Playgroud)
我试过用:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native")
private long id;
Run Code Online (Sandbox Code Playgroud)
但得到了:
org.hibernate.AnnotationException: Unknown Id.generator: native
Run Code Online (Sandbox Code Playgroud)
要么:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
Run Code Online (Sandbox Code Playgroud)
给我吗:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE projectName.identity does not exist
Run Code Online (Sandbox Code Playgroud)
有没有人成功部署MySQL和Hibernate3注释来自动生成ID?
hob*_*ave 11
在5.0版之前,使用策略AUTO相当于native在映射中使用.这使用了LegacyFallbackInterpreter:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
Run Code Online (Sandbox Code Playgroud)
从Hibernate 5.0开始,默认解释FallbackInterpeter器将根据底层数据库使用SEQUENCE生成器或TABLE生成器.
要使用LegacyFallbackInterpreter,请设置hibernate.id.new_generator_mappings为false.
| 归档时间: |
|
| 查看次数: |
20227 次 |
| 最近记录: |