你当前正在访问 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, Entity |
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 参数填充实现 TableEntity 的 对象的实例,该参数表示属性名称到 EntityProperty 数据类型化值的映射。
Parameters:
Throws:
setEtag
public void setEtag(String etag)
设置要验证实体的 ETag 值。 此值用于确定表实体自上次从 Microsoft Azure 存储读取以来是否已更改。 客户端无法在服务上更新此值。
Parameters:
String
,它指定要为实体设置的 ETag。
setPartitionKey
public void setPartitionKey(String partitionKey)
设置实体的 PartitionKey 值。
Parameters:
String
指定要为实体设置的 PartitionKey 值。
setRowKey
public void setRowKey(String rowKey)
设置实体的 RowKey 值。
Parameters:
String
它指定要为实体设置的 RowKey 值。
setTimestamp
public void setTimestamp(Date timeStamp)
设置实体的时间戳值。 请注意,timestamp 是服务上的只读属性,不应由用户设置。
Parameters:
java.util.Date
指定要为实体设置的时间戳值。
writeEntity
public HashMap
返回属性名称到 EntityProperty 数据类型值(表示表实体实例的序列化内容)的映射。
Parameters:
Returns:
Throws: