ColumnResult (Java EE 5)

Java EE API


javax.persistence Annotation Type ColumnResult


@Target(value={})
@Retention(value=RUNTIME)
public @interface ColumnResult

Implements: Annotation
@Target(value={})
@Retention(value=RUNTIME)

SQL 查询的 SELECT 子句中列的引用名称(即列别名,如果适用)。通过在元数据中指定此注释,可以使查询结果中包含标量结果类型。
示例:
   Query q = em.createNativeQuery(
       "SELECT o.id AS order_id, " +
           "o.quantity AS order_quantity, " +
           "o.item AS order_item, " + 
           "i.name AS item_name, " +
         "FROM Order o, Item i " +
         "WHERE (order_quantity > 25) AND (order_item = i.id)",
       "OrderResults");

   @SqlResultSetMapping(name="OrderResults",
       entities={
           @EntityResult(entityClass=com.acme.Order.class, fields={
               @FieldResult(name="id", column="order_id"),
               @FieldResult(name="quantity", column="order_quantity"),
               @FieldResult(name="item", column="order_item")})},
       columns={
           @ColumnResult(name="item_name")}
       )
 
英文文档:

References name of a column in the SELECT clause of a SQL query - i.e., column alias, if applicable. Scalar result types can be included in the query result by specifying this annotation in the metadata.

 Example:
   Query q = em.createNativeQuery(
       "SELECT o.id AS order_id, " +
           "o.quantity AS order_quantity, " +
           "o.item AS order_item, " + 
           "i.name AS item_name, " +
         "FROM Order o, Item i " +
         "WHERE (order_quantity > 25) AND (order_item = i.id)",
       "OrderResults");

   @SqlResultSetMapping(name="OrderResults",
       entities={
           @EntityResult(entityClass=com.acme.Order.class, fields={
               @FieldResult(name="id", column="order_id"),
               @FieldResult(name="quantity", column="order_quantity"),
               @FieldResult(name="item", column="order_item")})},
       columns={
           @ColumnResult(name="item_name")}
       )
 

Since:
Java Persistence 1.0

Required Element Summary
 String
 

Element Detail

abstract public String name()
SQL 查询的 SELECT 子句中的列名称
英文文档:

name

public abstract String name
The name of a column in the SELECT clause of a SQL query



Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

一看就知道只有菜鸟才干这么无知的事啦。

PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!