cmd*_*tos 14 eclipse hibernate persistence.xml
我有一个maven启用的项目导入到Eclipse中.从Eclipse,我得到一个错误"没有生成器命名"system-uuid"在以下行的system-uuid部分的持久性单元中定义":
@Id @GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(length = 36)
public String getId() {
return id;
}
Run Code Online (Sandbox Code Playgroud)
项目从命令行正确构建.是什么导致Eclipse生成此错误,我该如何解决?
持久性文件看起来像这样..
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="xxxx"/>
</persistence>
Run Code Online (Sandbox Code Playgroud)
Kar*_*zke 37
您可以通过将"持久性单元中未定义生成器"错误更改为警告,在"查询和生成器"下的"首选项" - >"Java持久性" - >"JPA" - >"错误/警告"下关闭/关闭错误.
这看起来像是Eclipse中Dali的Hibernate Tools扩展中的一个错误.您可以将此报告给Hibernate Tools,或者这可以在更新的版本中修复.
较新版本的 Eclipse 的 JPA 支持似乎取决于注释的顺序。在尝试使用 em 之后,您正在定义生成器。
这将起作用:
@Id
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@GeneratedValue(generator = "system-uuid")
@Column(length = 36)
public String getId() {
return id;
}
Run Code Online (Sandbox Code Playgroud)
然而,Java 中的注解顺序一定没有意义。所以Karen是对的,这似乎是一个错误。
| 归档时间: |
|
| 查看次数: |
17395 次 |
| 最近记录: |