gpt4 book ai didi

java - 从 SQLQuery 结果中的 id 列获取 Hibernate Entity 实例

转载 作者:行者123 更新时间:2023-12-02 08:38:05 25 4
gpt4 key购买 nike

我有(非 Hibernate)数据库表,其中包含 Hibernate 实体的 id。我可以查询它们(使用createSQLQuery),这会为我提供 id,然后我可以从中加载实体。

我想一步完成此操作,并且我认为我可以使用 addEntity 来完成此操作,但我不确定具体如何操作。 (Hibernate 的文档网站再次关闭。)当实体表的所有列都存在时,我可以使用 addEntity,但我现在只有 id。

这提示缺少列:

return (List<MyEntity>) session.createSQLQuery(
"select entity_id from the_table where foreign_key_value = ?")
.addEntity("entity_id", MyEntity.class)
.setLong(0, foreignKey).list();

最佳答案

我想你想要这样的东西:

session.createSQLQuery("select {entity.*} from entity_table {entity} where ....")
.addEntity("entity", Entity.class).(bind-parameters).list();

Hibernate 会将“{entity.*}”扩展为实体表中的相关列。

尽管如果您已经有了 ID,您可以简单地使用 session.load() 将它们转换为实际实例(好吧,延迟加载代理)。

关于java - 从 SQLQuery 结果中的 id 列获取 Hibernate Entity 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/797096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com