update语句是不是query?

Update statement is no query?

如何在orm.xml中定义更新语句。我把它作为一个命名查询,一切正常,但我的老师说更新语句不是查询。我尝试了本机查询,但没有用。

ORM 类型:

<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="1.0"
    xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd">

更新声明:

<named-query name="updateTshirts">
    <query>
        update Tshirt tshirt Set tshirt.bEdit = :bedit, tshirt.farbe = :farbe,
        tshirt.groesse = :groesse, tshirt.markenName = :markenname where
        tshirt.tID = :tid
    </query>
</named-query>

术语“查询” 的使用相当含糊。有些人从字面上将其解释为“询问信息”,这意味着只有 select 语句或其他产生结果集的东西属于这个术语,而其他人将其更广泛地解释为任何 DML(数据操作语言,即 select、插入、更新、删除、合并等)语句。

您的老师似乎属于第一类,而创建 Jakarta Persistence API (JPA) 的人属于第二类。所以,从某种意义上说,你们都是对的,在第一种解释中,更新语句不是“查询”,但在 JPA 使用的第二种解释中,它是“查询”。

但是,考虑到上下文,您的解释更好。