我正在尝试在包级别创建@GenericGenerator批注,以便包中的所有实体都可以使用它。

1)我有一个带有注释的package-info.java类:

@org.hibernate.annotations.GenericGenerator(name="unique_id", strategy="uuid")
package com.sample.model;

2)在同一包中,我有一个具有以下属性的实体:
@Id
@GeneratedValue(generator="unique_id")
@Column(name="userid")
public String userID() {
    return userID;
}

这将导致异常“Unknown Id.generator:unique_id”。如果我在实体类中包含@GenericGenerator批注,它将正常工作。但是,我想将此移到包级别,以便可以在其他实体中重用它。

有什么想法可以断开连接吗?

谢谢!

最佳答案

我知道这篇文章可能很旧...但是我搜索了该问题的解决方案,然后找到了对我有用的解决方案。因此,我将其张贴在这里,以防对某人有所帮助:

我忘了在cfg.xml中添加包级别信息

也许您应该在cfg.xml中添加以下行:

<mapping package="com.sample.model"/>

它为我工作:)

10-04 10:29