【问题标题】:Is it possible to move named queries of an entity to another class是否可以将实体的命名查询移动到另一个类
【发布时间】:2014-03-22 18:46:47
【问题描述】:

我有一个名为 Client 的实体,它有一些命名查询和本机命名查询。我想要做的是,我想将此命名查询移动到另一个类。为此,我想通过另一个类 ClientQuery 扩展 Client 实体。并将所有命名的本机查询移至该类。有可能吗?

客户端类

@XmlRootElement(name = "CLIENT_DETAILS")
@XmlAccessorType(XmlAccessType.FIELD)
@Entity
@NamedQueries({
    @NamedQuery(name = Client.GET_CLIENT_BYLANGID,
    query = "select T from Client T where T.clientPK.langId=:langId")
})
public class Client implements Serializable {
public static final String GET_CLIENT_BYLANGID = "Client.getClientByLangId";

【问题讨论】:

    标签: jpa entity named-query


    【解决方案1】:

    据我了解,您想知道将@NamedQuery 从实体类移到非实体类是否正确。

    我很快检查了规范,并没有看到任何限制。此外,我尝试在 <entity> 元素之外放入一个 mapping.xml 元素 <named-query> ,它是 xml 有效的,所以它是合法的。

    【讨论】:

      【解决方案2】:

      如果您将@NamedQuery 移动到一个不是实体的类中,该类将不能作为休眠模式工作,则只扫描实体类。您会发现类似 NamedQuery not found 之类的东西,最好将它们放在对它们有更多引用的实体中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-30
        • 1970-01-01
        • 1970-01-01
        • 2011-09-29
        • 1970-01-01
        • 2017-02-13
        • 1970-01-01
        • 2010-11-23
        相关资源
        最近更新 更多