如何在 Hibernate 中使用 SELECT 插入

How to INSERT using a SELECT in Hibernate

我需要在休眠中实现以下请求:

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

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

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

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