在这里hibernate新手。我正在研究一个简单的Hibernate映射文件。当我使用xml方法时,我将生成器类设置为Assigned。在分配员工ID之前,必须先检查某些逻辑,这样我才能自动生成它。
<id name="id" type="string" column="emp_id">
<generator class="assigned">
</generator>
</id>
但是我也在研究注释类型,并且随着框架从配置文件移开,如今注释似乎已经成为现实。但是我找不到任何与分配值匹配的世代类型
public class Employee{
String id;
@column(name="emp_id", unique=true)
public String getID(){
return id;
}
}
这是否意味着分配时不需要添加任何序列生成器注释?谢谢
只需使用@Id
注释即可,它使您可以定义哪个属性是实体的标识符。您不需要使用@GeneratedValue
批注,因为我认为您不希望hibernate为您生成此属性。
@Id
String id;
问题内容: 任何人都知道一些有关如何为hibernate创建自定义ID生成器的好教程吗? 问题答案: 在Google上粗略搜索“hibernate自定义ID生成器教程”,发现了以下可能性。我排除了那些看起来没有用的内容,并总结了它们的内容。 http://www.devx.com/Java/Article/30396-涵盖了在数据保留之前生成ID(因此还没有业务密钥)的问题。 http://doc
问题内容: 休眠注释应该放在哪里? 它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗? 非常感谢 问题答案: 您可以将它们放在 野外 或 吸气剂上 。从《 Hibernate注释参考指南》中: 2.2.1。将POJO标记为持久实体 (…) 根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,
问题内容: 我的实体如下。我的数据模型在下面强制执行,因此我无法更改引用的完整性。因此,我陷入了复合键的困境。我想自动生成/使用一些生成器作为orderId 是的,我已经阅读以下内容。 http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity- mapping- identifier 我不想管理
问题内容: 我有这部分的hibernate映射xml文件,我一直在寻找原生含义的好例子。 我知道这与唯一标识符属性有关,但是我真的很想举个例子。 对不起,对于新手问题,我是新来的休眠和一般编程:)谢谢! 问题答案: 本机意味着您的生成器将根据您当前的数据库支持使用身份或序列列。 Docs在这里解释了每种策略 http://docs.jboss.org/hibernate/orm/3.3/refer
问题内容: 有一个结构。我想以这种方式链接这三个实体:公司应包含ID,公司名称和部门列表,每个部门都有一个工人列表,ID和部门名称。每个工人都有名字,身份证。 我试图与一对多和多对一建立联系,但未成功。 公司 部门 工人 我从开始: 它填充公司,但不填充其他表,也没有创建任何联接(映射)错误: 问题答案: 除了Glenn Lane的答案中提到的级联,您还需要了解双向关联是如何工作的。 它们有一个所
问题内容: 我想使用联接表在两个表之间建立一对多关系。 最后,我想使用Hibernate批注执行此操作。 我找到了一些使用xml映射执行此操作的示例,但没有带注释的示例。 我相信这就是需要创建表的方式 问题答案: 不要寻找例子。阅读官方文档: 另外,请注意,这是单向一对多关联的默认设置。因此,如果默认的表名和列名适合您,您甚至不必提供注释。