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

发布于 2024-12-23 07:44:28 字数 245 浏览 2 评论 0原文

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

我正在使用 glassfish v2.1 toplink jpa 1.0 mysql 服务器。

提前致谢...

I have a problem understanding if i have a list of tables with id auto generation sequence strategy or any strategy , how could i get id of entity ? to be precise, i want to query on table entity by id for
example : select e from employer e where r.ID = :ID
where could i get this ID to search this employer ?
also at sequence strategy, do i have to set my own sequence generator to get such entity ids or this is not related to my question ?

Iam using glassfish v2.1 toplink jpa 1.0 mysql server.

Thanks in advance...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半岛未凉 2024-12-30 07:44:28

不确定问题的标题与问题本身有何关系,但您很少通过 id 进行查询,尤其是当 id 是自动生成时。我建议定义一个业务密钥并设计一个 equals 和 hahscode 方法来最终识别您的实体。

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

Not sure how the title of your question relates to the question itself, but you rarely query by id especially when the id is autogenerated. I would recommend to define a business key and design an equals and hahscode methods that ultimately identify your entities.

In terms of defining the sequence generator, you need to define the primary key of the table as auto_increment. This strategy will autommatically generate a new id for each new record.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文