java - 如何在 Hibernate 中使用 SELECT 进行 INSERT

标签 java sql hibernate orm hql

我需要在 hibernate 状态下实现以下请求:

insert into my_table(....,max_column)
values(...,(select max(id) from special_table where ....))

如何使用注解在 hibernate 状态下做到这一点? special_table 可能不是 my_table 的子项或依赖项,只是一个子选择。

最佳答案

您可以使用 INSERT INTO ... SELECT ... feature :

int updateCount = session.createQuery("""
    insert into MyEntity(
        ...,
        max_column
    ) 
    select 
        ..., 
        max(id) 
    from SpecialEntity 
    """)
.executeUpdate();

关于java - 如何在 Hibernate 中使用 SELECT 进行 INSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635715/

相关文章:

SQL 连接 : add custom constraint in JOIN clause

java - Hibernate - 难以理解的警告

java - Hibernate criteria 查询不同对象的不同属性

mysql - 平均优化sql结果集

java - 我的测试用例中预期异常的正确组合是什么?

java - 如何在java中增加id并获取冗长的描述

java - Android 文本转语音功能无法在设备上运行

java - 在java中将字符转换为ASCII数值

java - Android DrawerLayout 与 NullPointerException

需要 MySQL 查询总和和组建议