你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

TableEntity 接口

public interface TableEntity

表实体类型所需的接口。 接口 TableEntity 声明通用实体属性的 getter 和 setter 方法,以及使用属性映射对所有实体属性进行序列化和反序列化的方法。 创建实现 TableEntity 的类,以自定义属性存储、检索、序列化和反序列化,并为表实体提供其他自定义逻辑。

存储客户端库包括 的两个实现,这些实现 TableEntity 提供简单的属性访问和序列化:

DynamicTableEntityTableEntity实现 并提供用于存储和检索属性的简单属性映射。 DynamicTableEntity当仅返回一部分属性 ((例如,通过查询) 中的 select 子句返回),或者查询可以返回具有不同属性的多个实体类型时,请使用 以简单访问实体属性。 也可以使用此类型对异构实体执行批量更新,而不会丢失属性信息。

TableServiceEntity 是 的 TableEntity 实现,它在其 和 方法中使用基于反射的序列化和反序列化行为。 TableServiceEntity具有遵循类型和命名约定的方法的派生类会自动序列化和反序列化。

通过调用 中的 和 中的TableServiceEntity静态方法,实现 TableEntity 的任何类都可以利用 中基于反射的自动序列化和反序列化行为。 类必须提供遵循类型和命名约定的方法,以便自动序列化和反序列化。 当找到给定属性名称和数据类型的 getter 方法和 setter 方法时,将自动调用相应的方法来序列化或反序列化数据。 反射代码以成对的形式查找 getter 和 setter 方法

其中 PropertyName 是表实体的属性名称, type 是与属性的 EDM 数据类型兼容的 Java 类型。 有关属性类型到其 Java 等效项的映射,请参阅 的类说明 TableServiceEntity 中的表。 StoreAs可以使用 特性应用批注,以指定属性名称,以便在不遵循属性名称约定的 getter 和 setter 方法上反射。 方法名称和批注的 StoreAs 属性区分大小写,以便将属性名称与反射匹配。 Ignore使用 注释可防止反射使用方法进行自动序列化和反序列化。 请注意,名称“PartitionKey”、“RowKey”、“Timestamp”和“Etag”是保留的,如果使用反射方法的子类中的 注释进行设置 StoreAs ,将忽略这些名称。

方法摘要

修饰符和类型 方法和描述
String getEtag()

获取要验证实体的 ETag 值。 此值用于确定表实体自上次从 Microsoft Azure 存储读取以来是否已更改。 客户端无法在服务上更新此值。

String getPartitionKey()

获取实体的 PartitionKey 值。

String getRowKey()

获取实体的 RowKey 值。

Date getTimestamp()

获取实体的时间戳。 服务器将管理 Timestamp 的值,该值不可修改。

void readEntity(HashMap<String, EntityProperty> properties, OperationContext opContext)

使用指定的 properties 参数填充实现 TableEntity 的 对象的实例,该参数表示属性名称到 EntityProperty 数据类型化值的映射。

void setEtag(String etag)

设置要验证实体的 ETag 值。 此值用于确定表实体自上次从 Microsoft Azure 存储读取以来是否已更改。 客户端无法在服务上更新此值。

void setPartitionKey(String partitionKey)

设置实体的 PartitionKey 值。

void setRowKey(String rowKey)

设置实体的 RowKey 值。

void setTimestamp(Date timeStamp)

设置实体的时间戳值。 请注意,timestamp 是服务上的只读属性,不应由用户设置。

HashMap<String, EntityProperty> writeEntity(OperationContext opContext)

返回属性名称到 EntityProperty 数据类型值(表示表实体实例的序列化内容)的映射。

方法详细信息

getEtag

public String getEtag()

获取要验证实体的 ETag 值。 此值用于确定表实体自上次从 Microsoft Azure 存储读取以来是否已更改。 客户端无法在服务上更新此值。

Returns:

一个 String ,它表示实体的 ETag。

getPartitionKey

public String getPartitionKey()

获取实体的 PartitionKey 值。

Returns:

一个 , String 它表示实体的 PartitionKey 值。

getRowKey

public String getRowKey()

获取实体的 RowKey 值。

Returns:

String 它表示实体的 RowKey 值。

getTimestamp

public Date getTimestamp()

获取实体的时间戳。 服务器将管理 Timestamp 的值,该值不可修改。

Returns:

一个 java.util.Date 对象,表示实体的 Timestamp 值。

readEntity

public void readEntity(HashMap properties, OperationContext opContext)

使用指定的 properties 参数填充实现 TableEntity 的 对象的实例,该参数表示属性名称到 EntityProperty 数据类型化值的映射。

Parameters:

properties - java.util.HashMapStringEntityProperty用于填充表实体实例的 数据类型值的 。
opContext - 一个 OperationContext 对象,用于跟踪操作的执行。

Throws:

StorageException - 如果在操作期间发生错误。

setEtag

public void setEtag(String etag)

设置要验证实体的 ETag 值。 此值用于确定表实体自上次从 Microsoft Azure 存储读取以来是否已更改。 客户端无法在服务上更新此值。

Parameters:

etag - 一个 String ,它指定要为实体设置的 ETag。

setPartitionKey

public void setPartitionKey(String partitionKey)

设置实体的 PartitionKey 值。

Parameters:

partitionKey - 一个 , String 指定要为实体设置的 PartitionKey 值。

setRowKey

public void setRowKey(String rowKey)

设置实体的 RowKey 值。

Parameters:

rowKey - 一个 , String 它指定要为实体设置的 RowKey 值。

setTimestamp

public void setTimestamp(Date timeStamp)

设置实体的时间戳值。 请注意,timestamp 是服务上的只读属性,不应由用户设置。

Parameters:

timeStamp - 一个 , java.util.Date 指定要为实体设置的时间戳值。

writeEntity

public HashMap writeEntity(OperationContext opContext)

返回属性名称到 EntityProperty 数据类型值(表示表实体实例的序列化内容)的映射。

Parameters:

opContext - 一个 OperationContext 对象,用于跟踪操作的执行。

Returns:

String表示java.util.HashMap表实体属性的属性的数据类型值的属性名称EntityProperty的 。

Throws:

StorageException - 如果在操作期间发生错误。

适用于