Ejb 3 JPA 1.0 Toplink实体自动生成序列策略getId()方法总是返回0

时间:2011-12-25 22:04:15

标签: jpa entity ejb-3.0 toplink

我有一个问题,如果我有一个具有id自动生成序列策略或任何策略的表列表,我怎么能得到实体的id?确切地说,我想通过id查询表实体 例如:从雇主e中选择e,其中r.ID =:ID 我在哪里可以获得此ID来搜索这个雇主? 同样在序列策略中,我是否必须设置自己的序列生成器来获取此类实体ID,或者这与我的问题无关?

我使用glassfish v2.1 toplink jpa 1.0 mysql server。

提前致谢...

1 个答案:

答案 0 :(得分:0)

不确定问题的标题与问题本身的关系,但很少通过id进行查询,尤其是在自动生成id时。我建议define a business key and design an equals and hahscode methods最终识别您的实体。

在定义序列生成器方面,您需要define the primary key of the table as auto_increment。此策略将自动为每个新记录生成一个新ID。