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

Ejb 3 JPA 1.0 Toplink实体自动生成的序列策略getId()方法始终返回0,jpa,entity,ejb-3.0,toplink,Jpa,Entity,Ejb 3.0,Toplink,我有一个理解问题,如果我有一个带有id自动生成序列策略或任何策略的表列表,我如何获得实体的id?确切地说,我想通过id查询 示例:从雇主e中选择e,其中r.ID=:ID 我在哪里可以获得此ID来搜索此雇主? 同样在序列策略中,我是否必须设置自己的序列生成器来获得这样的实体ID,或者这与我的问题无关 Iam使用glassfish v2.1 toplink jpa 1.0 mysql服务器 提前感谢…不确定问题的标题与问题本身的关系,但您很少按id进行查询,尤其是自动生成id时。我建议您最终确定您的

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

Iam使用glassfish v2.1 toplink jpa 1.0 mysql服务器


提前感谢…

不确定问题的标题与问题本身的关系,但您很少按id进行查询,尤其是自动生成id时。我建议您最终确定您的实体


在定义序列生成器方面,您需要。此策略将自动为每个新记录生成一个新的id。

您说很少按id查询,所以如果我有一个包含许多学生的类实体,并且我有一个方法getAllStudents(类c1),那么我想获得类c1中的所有学生,我如何在不使用id的情况下查询一个类c1中的学生???提前谢谢,我想你会查询c1,它会有一个与之相关联的学生列表。显然,您可以通过id进行查询,但一般来说,您事先并不知道,因为它是由db生成的。有没有其他方法可以在不知道实体id的情况下进行此类查询?如果不是,则无法使用entity.getId()获取实体的id?我怎样才能解决这个问题?