@ejb.persistence(方法)

范围:方法

多重性

(0..1):在 Java™ 源文件中可以不使用此标记或使用一次此标记。

目的

此标记提供有关容器管理的持久性(CMP)实体 bean 的字段持久性的信息。对具有下列模式的方法使用此参数:public abstract Foo getX()public abstract boolean isX()public abstract void setX(Foo newVal)。这将在生成的 CMP 层中创建类型为 Foo 的 CMP 字段 X,并且将创建 getXsetX 方法的具体实现。对于 BMP,它将生成 getX 和 setX 方法,用来跟踪脏标志(从而仅在必要时才调用 ejbStore)。

如果类型为布尔,则可以对 get 方法添加前缀 is 而不是 get。如果不定义 setter 方法,则不会为具体 BMP/CMP 类生成 setter 方法(只有在 EJB 1.1 或 EJB 2.0 中才会通过使用 CMP 1.x 来生成具体 CMP 类)。这对于诸如下面这样的情况是很有用的:任何内容都不是按照程序设置的,而是通过诸如存储过程的外部源设置的。注意,某些应用程序服务器要求同时应用 jdbc-typesql-type 才能正常工作;参阅应用程序服务器的相关子任务。适用于 EJB 实体 bean 字段,尤其是在持久字段的 getter 方法上。

参数

参数 类型 适用范围 描述 是否必需
column-name 文本   声明 CMP 字段将映射至的列名 false
jdbc-type 文本   声明 JDBC 类型。它的值必须是类型为 java.sql.Types(例如,BIT 和 CHAR)的一个字段。CMP 提供程序将使用此 JDBC 类型来确定要对 INSERTUPDATESELECT 查询的 PreparedStatementResultSet 调用哪种方法。您必须指定下列其中一种属性:
  • ARRAY
  • BIGINT
  • BINARY
  • BIT
  • BLOB
  • BOOLEAN
  • CHAR
  • CLOB
  • DATALINK
  • DATE
  • DECIMAL
  • DISTINCT
  • DOUBLE
  • FLOAT
  • INTEGER
  • JAVA_OBJECT
  • LONGVARBINARY
  • LONGVARCHAR
  • NULL
  • NUMERIC
  • OTHER
  • REAL
  • REF
  • SMALLINT
  • STRUCT
  • TIME
  • TIMESTAMP
  • TINYINT
  • VARBINARY
  • VARCHAR
缺省值是
  • VARCHAR
false
sql-type 文本   声明数据库中的字段的实际类型。仅当 CMP 容器为您创建表时(如果可能的话)才将使用此值。 false
read-only 布尔   指示字段是只读的。您必须指定下列其中一种属性:
  • true
  • false
false
相关参考
@ejb.bean
@ejb.create-method
@ejb.ejb-external-ref
@ejb.ejb-ref
@ejb.env-entry
@ejb.facade
@ejb.facade-method
@ejb.finder
@ejb.home
@ejb.home-method
@ejb.interface
@ejb.interface-method
@ejb.permission
@ejb.persistence
@ejb.pk
@ejb.pk-field
@ejb.relation
@ejb.remote-facade
@ejb.resource-env-ref
@ejb.resource-ref
@ejb.security-identity
@ejb.security-role-ref
@ejb.select
@ejb.session
@ejb.transaction
@ejb.util
@ejb.value-object
@ejb.value-object-method
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.