Skip navigation.

Programming WebLogic Enterprise JavaBeans

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

EJBGen Reference

EJBGen is an Enterprise JavaBeans 2.x code generator. If you annotate your Bean class file with JDK 1.5 annotations, you can use EJBGen to generate the Remote and Home classes and the deployment descriptor files for an EJB application.

BEA recommends that you use EJBGen to generate deployment descriptors; this BEA best practice allows for easier and simpler maintenance of EJBs. If you use EJBGen, you need to write and annotate only one bean class file, which simplifies writing, debugging, and maintenance. The following sections provide instructions on using EJBGen and define EJBGen command options and annotations:

 


Running EJBGen

These sections describe how to process an annotated bean file using EJBGen:

EJBGen Distribution and Examples

In this release of WebLogic Server, EJBGen and associated classes are included in weblogic.jar in the WL_HOME/server/lib of the WebLogic Server distribution. To use EJBGen, make sure weblogic.jar is in your CLASSPATH. EJBGen annotations can be found in the weblogic.ejbgen package.

If you have installed BEA WebLogic Server 9.1 examples, see WL_HOME\samples\server\examples\src\examples\ejb\ejb20\ and WL_HOME\samples\server\examples\src\examples\ejb\ejb21\ for an application that uses EJBGen.

Invoking EJBGen

Use this command to run EJBGen on a bean source file:

com.bea.wls.ejbgen.EJBGen

Note: To run this command, weblogic.jar must be in your CLASSPATH.

If you are invoking EJBGen for an EJB that has relationships with other EJBs, invoke the related EJBs by naming them, following your EJB, in the invocation, as follows:

com.bea.wls.ejbgen.EJBGen (YourBean).java (RelatedBean).java

Note: You can also invoke EJBGen via the ejbgen ant task, which is also included in weblogic.jar.

EJBGen Command Options

Table E-1 defines EJBGen command options.

Table E-1 EJBGen Command Options


 


 

Option

Default

Definition

-checkTags

N/A

If invoked with this option, EJBGen will not generate any classes but will search the classes supplied on the command line for tags that are not valid EJBGen tags.

-classPath [directory]

N/A

Specifies the directory where the class loader can find dependent classes that are in .class format.

To specify more than one class path, separate paths with a semicolon (;).For instance: -sourcePath /dir1;/dir2

If dependent classes are in .java format, use -sourcePath instead.

-d [directory]

N/A

The directory under which all the files will be created.

-descriptorDir [directory]

N/A

The directory under which all the descriptor files will be created, relative to the output directory specified with the -d [directory] option.

-docTag tagName

N/A

If specified, EJBGen prints out the detailed documentation for this tag, including all the recognized attributes. Note that even though this option does not need any source file, you still need to specify an existing .java class on the command line, or Javadoc will emit an error message even though it recognized the flag.

-docTags

N/A

Print out all the tags known by EJBGen. Note that even though this option does not need any source file, you still need to specify an existing .java class on the command line, or Javadoc will emit an error message even though it recognized the flag.

-docTagsHtml

N/A

Same as -docTags, but generates an HTML document.

-ejbPrefix [string]

" "

The prefix to use when generating the EJB class.

-ejbSuffix [string]

Bean or EJB

The suffix to use when generating the EJB class.

-ejbgenQuiet [boolean]

N/A

Make EJBGen less verbose.

-ejbgenVerbose [boolean]

N/A

Verbose mode.

-errorFile

N/A

The path of the file where errors will be redirected.

-exitOnError [boolean]

N/A

EJBGen should exit in case of an error.

-homeBaseClass [string (className)]

N/A

The base class for home remote interfaces.

-extractTemplates [directory]

N/A

The directory where to extract the templates.

-forceGeneration [boolean]

N/A

Force the generation of all files regardless of time stamps.

-homeBaseClass [string (className)]

N/A

The base class for home remote interfaces.

-ignorePackage

N/A

If this flag is set, EJBGen ignores the package name of the Java files it generates and creates those in the output directory as specified by the -d flag (or in the current directory if no -d was specified).

-jndiPrefix [string]

" "

The prefix to use for @remoteJndiName and @localJndiName

-jndiSuffix [string]

" "

The suffix to use for @remoteJndiName and @localJndiName

-localBaseClass [string (className)]

N/A

The base class for local interfaces.

-localHomeBaseClass [className]

N/A

The base class for local home interfaces.

-localHomePrefix [string]

" "

The prefix to use when generating the local EJB class.

-localHomeSuffix [string]

LocalHome

The suffix to use when generating the local EJB class.

-localPrefix [string]

" "

The prefix to use when generating the local EJB class.

-localSuffix [string] (

" "

The suffix to use when generating the local EJB class.

-noImports [boolean]

false

Disable propagation of java imports to generated classes.

-noLocalInterfaces

N/A

If specified, local interfaces are not generated.

-noRedirection noRedirection ejbgen.noRedirection [boolean]

N/A

Cancels all redirection performed by EJBGen.

-noRemoteInterfaces [boolean]

N/A

If specified, remote interfaces are not generated.

-noticeFile [file]

N/A

The path of the file where notices will be redirected.

-noValueClasses [boolean]

N/A

If specified, value classes will not be generated.

-primaryKeyBaseClass [string (class name)]

N/A

The base class for generated primary keys.

-printDiagnostic [boolean]

N/A

Prints a diagnostic of all the tags found by EJBGen

-printTags [boolean]

N/A

Display all the tags recognized by EJBGen

-propertyFile [fileName]

N/A

The name of a property file that EJBGen reads to define substitution variables. See Using Property Files with EJBGen.

-remoteBaseClass [string (className)]

N/A

The base class for remote interfaces.

-remoteHomePrefix [string]

" "

The prefix to use when generating the remote EJB home class.

-remoteHomeSuffix [string]

" "

The suffix to use when generating the remote EJB home class.

-remotePrefix [string]

" "

The prefix to use when generating the remote EJB class.

-remoteSuffix [string]

" "

The suffix to use when generating the remote EJB class.

-source [version number]

1.5

Version of the JDK to use.

-sourcepath [directory]

N/A

Specifies the directory where the class loader can find dependent classes that are in .java format.

To specify more than one source path, separate paths with a semicolon (;).For instance: -sourcePath /dir1;/dir2

If dependent classes are in .class format, use -classPath instead.

-templateDir [directory]

N/A

The directory where the templates are stored.

-toStringForPrimitivesOnly

N/A

If specified, the toString() methods of value objects only display container-managed persistence fields that are primitives. This flag fixes the problem of circular references between value objects (AValue.toString() invoking BValue.toString() invoking AValue.toString(), etcetera).

-valueBaseClass [string (class name)]

N/A

The base class of the value class generated by EJBGen.

-valueObjectPrefix [string]

N/A

The prefix to use when generating the value object class.

-valueObjectSuffix [string]

N/A

The suffix to use when generating the value object class.

-valuePackage [string (package name)]

N/A

Package the value classes belong to.

-verbose [boolean]

false

Display more information.

-workshopDocTags [boolean]

N/A

Display the help in WebLogic Workshop HTML format.

-xmlEncoding [string]

N/A

The encoding to use when generating XML files (default: UTF-8).

Using Key EJBGen Features

These sections describe key EJBGen features and how to use them:

Controlling the Files EJBGen Generates

By default, EJBGen generates the following files:

You can selectively disable the generation of these files by using the weblogic.ejbgen.FileGeneration tag. This can be done on a per-bean basis.

Using Property Files with EJBGen

EJBGen can gather information for generation from property files, as discussed in this section.

Use the -propertyFile option to tell EJBGen to parse a properties file.

Use the following syntax to invoke EJBGen with the -propertyFile option:

com.bea.wls.ejbgen.EJBGen -propertyFile property-file AccountBean.java

EJBGen recognizes two kinds of variables in a properties file: user variables and predefined variables.

Using User Variables

EJBGen tags can use variables instead of strings. These variables must be enclosed with "${" and "}".

Variables can be used anywhere after an EJBGen tag, so they can contain whole tag definitions.

Using Predefined Variables

EJBGen recognizes a number of predefined variables. These variables are not supposed to be used in tags but EJBGen will use them at various places depending on their role. Recognized variables are:

You can make these variables more specific by prefixing them with an EJBName. For example, consider the following property file.

#
# property-file
#
Account.home.baseClass = BaseAccountHome
home.baseClass = BaseHome
value.package = value
containerManaged.value.package=valuePackageForContainerManaged

All homes generated by EJBGen extend the class BaseHome except the home of EJB "Account", which extends BaseAccountHome.

Surround Attributes that Contain Spaces With Double Quotes

When you specify an attribute that contains spaces, surround the attribute value with double quotes. For example:

group-names = "group1, group2"

EJBGen Supports Tag Inheritance

One of the main features in EJBGen 2.x is tag inheritance. You inherit EJBGen annotations the same way you do in Java. For example, assume that you have an EJB named AccountEJB with a base class BaseAccount, as in Listing 8-6:

weblogic.ejbgen.JndiName

Listing 8-6 Tag Inheritance

@JndiName(remote = "BaseRemote")
public class BaseAccount implements EntityBean {
// ...
}
Now, define your EJB class:
@Entity(ejbName = containerManaged,
  tableName = ejbAccounts,
  datasourceJndiName = examples-dataSource-demoPool)

//
Note that we inherit the JNDI name defined in BaseAccount

public class AccountEJB extends BaseAccount {
// ...

 


Examples of EJBGen Tag Usage

These sections contain example source code annotated with EJBGen tags.

Mapping an Entity Bean to Several Tables with EJBGen

By default, entity beans are mapped to one table, with the attribute tableName on the tag @Entity. If you want to map your entity bean to more than one table, you can use the table-name attribute on individual @CmpFields provided the CMP fields are primary key fields that are mapped to corresponding primary key columns in each table. Any container-managed persistence fields that do not have a tableName attribute will use the table specified on @Entity (which can therefore be considered as the "default" table).

If you want to map an entity bean to several tables, you need to specify a comma-separated list of tables in the tableName attribute (and also on a column). Make sure that the number of tables matches the number of columns, and that the columns exist in the corresponding table.

Specifying Relationship Caching with EJBGen Tags

You can specify relationship caching elements with the @RelationshipCaching tag. This element can be nested (recursive). In other words, you can specify a tree representing all the relationship elements that you want to see cached.

In order to support this tree structure, @RelationshipCaching has two attributes, id and parentId. These attributes do not correspond to any XML, they simply allow you to specify your tree structure.

For example, if a cachingElement A needs to have two children elements B and C, all you need to specify is an id for A (say "root0") and a parentId for B and C equal to that name.

Listing 8-7 illustrates specifying relationship caching.

Listing 8-7 Specifying Relationship Caching

@RelationshipCachingElements(
@RelationshipCachingElement(cachingName = cacheMoreBeans,
 cmrField = employee,
 groupName = emp-group,
 id = A),
 
@RelationshipCachingElement(cachingName = cacheMoreBeans,
 cmrField = employee_ssn,
 groupName = emp-group,
 parentId = A),
 
@RelationshipCachingElement(cachingName = cacheMoreBeans,
 cmrField = employee_zip,
 groupName = emp-group,
  parentId = A)
)

Specifying Relationships with EJBGen Tags

Unidirectional relationships are achieved by specifying only the first two parameters of the relation tag (no CMR_field, no join table).

Note: "Join table" was called "joint table" in pre-9.0 releases of WebLogic Server.

Many-to-many relationships must specify an extra table (parameter "join table") which must contain at least two columns. The names of these columns must match the names of the columns containing the foreign keys of the two beans being joined.

Upgrading Relationships to Use Local Interfaces

If you have EJBs based on a version of the EJB 2.0 specification that predates PFD2, you must update them. As of PFD2, relationships must be based on local interfaces, not remote ones. To upgrade your EJBs:

  1. Add a JNDI name for your local home interface:
  2. @JndiName
    remote = AccountHome
    local = AccountLocalHome
  3. Add @LocalMethod tags to any method you want to see appear on the local home interface. A method can have both @LocalMethod and @RemoteMethod.
  4. Change the return type of your container-managed relationship (CMP) accessing methods to that of the local EJB object (this only applies to single-valued CMR fields since multi-valued CMR fields are collections. Keep in mind that these collections contain Local EJB objects):

  5. @CmrField

    @RemoteMethod
    @LocalMethod

    abstract public LocalCustomer getCustomer();

 


Enum Attribute Constant Values

The following enum values are used for many of the EJBGen attributes.

Constants.Bool

Valid values for Constant.Bool are as follows:

Constants.TransactionAttribute

Valid values for Constants.TransactionAttribute are as follows:

Constants.IsolationLevel

Valid values for Constants.IsolationLevel are as follows:

Constants.RefType

Valid values for Constant.RefType are as follows:

Constants.HomeLoadAlgorithm

Valid values for Constants.HomeLoadAlgorithm are as follows:

Constants.Interface

Valid values for Contants.Interface are as follows:

Constants.ConcurrencyStrategy

Valid values for Constants.ConcurrencyStrategy are as follows:

 


EJBGen Annotation Reference

This section provides a complete reference for the following EJBGen annotations you can use in your bean class file:

 


EJB Container Annotations

The following is a list of container annotations that can only contain an array of annotations.

Note: A single class or method can be annotated by no more than one instance of any annotation.

For more information on an annotation, including the array of annotations it can contain, click the annotation name.

weblogic.ejbgen.ActivationConfigProperties

Target: Class

This annotation does not have any attributes, other than the array of weblogic.ejbgen.ActivationConfigProperty annotations.

weblogic.ejbgen.ActivationConfigProperty

Target: Class

Attributes

Table 8-2 ActivationConfigProperty EJBGen Annotation Attributes

Name

Description

Data Type

Required?

value

Property Value.

String

Yes.

name

Property name.

String

Yes.

weblogic.ejbgen.AutomaticKeyGeneration

Target: Class

Attributes

Table 8-3 AutomaticKeyGeneration EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

type

The type of the key generator.

Valid values for this attribute are:

  • AutomaticKeyGeneration.AutomaticKeyGenerationType.UNSPECIFIED

  • AutomaticKeyGeneration.AutomaticKeyGenerationType.IDENTITY

  • AutomaticKeyGeneration.AutomaticKeyGenerationType.SEQUENCE

  • AutomaticKeyGeneration.AutomaticKeyGenerationType.SEQUENCE_TABLE

Enum

Yes.

cacheSize

The size of the key cache.

The default value of this attribute is UNSPECIFIED.

String

No. (Previously yes)

name

The name of the generator.

The default value of this attribute is UNSPECIFIED.

String

No.

weblogic.ejbgen.CmpField

Target: Method

Attributes

Table 8-4 CmpField EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

column

The column where this CMP field will be mapped. See Mapping an Entity Bean to Several Tables with EJBGen.

String

Yes.

readOnlyInValueObject

If True, only the getter will be generated for this field in the value object.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

tableName

The table(s) where this field should be mapped. Mapping an Entity Bean to Several Tables with EJBGen.

The default value for this attribute is UNSPECIFIED.

String.

No.

groupNames

Comma-delimited names of the groups this field belongs to. Surround the list of group names with double quotes.

The default value for this attribute is UNSPECIFIED.

String

No.

orderingNumber

The number where this field must appear in signatures and constructors. For this ordering to work, all cmr and cmp fields must set this attribute to a distinct numeric value.

The default value for this attribute is 0.

String

No.

excludeFromValueObject

If True, this field will not be generated in the value object.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

columnType

The type of this column.Valid values for this attribute are:

CmpField.ColumnType.UNSPECIFIED

CmpField.ColumnType.CLOB

CmpField.ColumnType.BLOB

CmpField.ColumnType.LONG_STRING

CmpField.ColumnType.SYBASE_BINARY

The default value is CmpField.ColumnType.UNSPECIFIED.

Enum

No.

primkeyField

Whether this field is part of the compound primary key.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)


No.

dbmsDefaultValue

Whether this field is the default DBMS value.

See Constants.Bool for the list of valid values for this attribute. The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)


No.

weblogic.ejbgen.CmrField

Target: Method

Attributes

Table 8-5 CmrField EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

readOnlyInValueObject

If True, only the getter will be generated for this field in the value object.

See Constants.Bool for the list of valid values for this attribute. The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

groupNames

Comma-delimited names of the groups this field belongs to. Surround the list of group names with double quotes.

The default value for this attribute is UNSPECIFIED.

String

No.

orderingNumber

The number where this field must appear in signatures and constructors. For this ordering to work, all cmr and cmp fields must have this attribute to a distinct numeric value.

The default value for this attribute is UNSPECIFIED.

String

No.

excludeFromValueObject

If True, this field will not be generated in the value object.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

weblogic.ejbgen.Compatibility

Target: Class

Attributes

Table 8-6 Compatibility EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

serializeCharArrayToBytes

Whether a cmp-field of type byte[] mapped to a Blob in an Oracle database should be serialized.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

disableStringTrimming

Whether to disable String trimming.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

serializeByteArrayToOracleBlob

Whether a cmp-field of type byte[] mapped to an OracleBlob should be serialized.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

allowReadonlyCreateAndRemove

Whether to allow read only create and remove.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

findersReturnNulls

Whether to allow finder methods to return null.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

weblogic.ejbgen.CreateDefaultDbmsTables

This tag is deprecated; use weblogic.ejbgen.JarSettings instead.

weblogic.ejbgen.CreateDefaultRdbmsTables

This tag is deprecated; use weblogic.ejbgen.JarSettings instead.

weblogic.ejbgen.DBSpecificSQL

Target: Class, Method, Field

Attributes

Table 8-7 DBSpecificSQL EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

databaseType

The database type.

String

Yes.

sql

The SQL statement.

String.

Yes.

weblogic.ejbgen.EjbClientJar

This tag is deprecated; use weblogic.ejbgen.JarSettings instead.

weblogic.ejbgen.EjbInterface

Target: Class

Attributes

Table 8-8 EjbInterface EJBGen Annotation Attributes

Attributes

Description

Data Type

Required?

ejbType

Specifies the type of this EJB. This tag is not normally used.

Valid values are:

  • javax.ejb.MessageDrivenBean

  • javax.ejb.EntityBean

  • javax.ejb.SessionBean

String

Yes.

weblogic.ejbgen.EjbLocalRef

Target: Class

Attributes

Table 8-9 EjbLocalRef EJBGen Annotation Attributes

Attributes

Description

Data Type

Required?

jndiName

Specifies the JNDI name of the reference.

The default value of this attribute is UNSPECIFIED.

String

No.

type

Specifies the reference type.

See Constants.RefType for the list of valid values for this attribute.

The default value is Constants.RefType.UNSPECIFIED.

Enum (Constants.RefType)

No

local

Names the Local class of the bean.

The default value of this attribute is UNSPECIFIED.

String

No.

name

Names the reference.

The default value of this attribute is UNSPECIFIED.

String

No

link

Names the link of the bean.

The default value of this attribute is UNSPECIFIED.

String

No

id

The identity of this tag (used for tag inheritance only).

The default value of this attribute is UNSPECIFIED.

String

No

home

Names the Home class of this bean.

The default value of this attribute is UNSPECIFIED.

String

No

weblogic.ejbgen.EjbLocalRefs

Target: Class

This annotation does not have any attributes, other than the array of weblogic.ejbgen.EjbLocalRef annotations.

weblogic.ejbgen.EjbRef

Target: Class

Attributes

Table 8-10 EjbRef EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

jndiName

Specifies the JNDI name of the reference.

The default value of this attribute is UNSPECIFIED.

String

No.

type

Specifies the reference type.

See Constants.RefType for the list of valid values for this attribute.

The default value is Constants.RefType.UNSPECIFIED.

Enum (Constants.RefType)

No

remote

Names the Local class of the bean.

The default value of this attribute is UNSPECIFIED.

String

No.

name

Names the reference.

The default value of this attribute is UNSPECIFIED.

String

No

link

Names the link of the bean.

The default value of this attribute is UNSPECIFIED.

String

No

id

The identity of this tag (used for tag inheritance only)

The default value of this attribute is UNSPECIFIED.

String

No

home

Names the Home class of this bean.

The default value of this attribute is UNSPECIFIED.

String

No

weblogic.ejbgen.EjbRefs

Target: Class

This annotation does not have any attributes, other than the array of weblogic.ejbgen.EjbRef annotations.

weblogic.ejbgen.Entity

Target: Class

Attributes

Table 8-11 Entity EJBGen Annotation Attributes

Attribute

Description

Data Type

Required?

ejbName

The name of this entity bean.

String

Yes.

primKeyClass

Names the Java class of the primary key. In case of a compound primary key, this class will be generated by EJBGen.

String

Yes

tableName

Names the table to which this entity bean is mapped.

The default value of this attribute is UNSPECIFIED.

String

No.

verifyRows

Specifies the rows in a table that should be checked when optimistic concurrency is used.

The valid values for this attribute are:

  • Entity.VerifyRows.UNSPECIFIED

  • Entity.VerifyRows.READ

  • Entity.VerifyRows.MODIFIED

The default value is Entity.VerifyRows.UNSPECIFIED.

Enum

No.

clientsOnSameServer

Specifies whether the clients are collocated with the EJB on the same server.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

invalidationTarget

Targets the ejb-name of a read-only entity bean to be invalidated when this container-managed persistence entity EJB is modified.

The default value of this attribute is UNSPECIFIED.

String

No

useCallerIdentity

Determines whether or not this EJB uses the caller's identity.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

cacheBetweenTransactions

Specifies whether to cache the persistent data of an entity bean across (between) transactions.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

defaultDbmsTablesDdl

Defines the DDL filename

The default value for this attribute is UNSPECIFIED.

String

No.

defaultTransaction

Sets the default transaction attribute to be applied to all methods that do not have a transaction attribute setting.

See Constants.TransactionAttribute for the list of valid values for this attribute.

The default value is Constants.TransactionAttribute.UNSPECIFIED.

Enum (Constants.TransactionAttribute)

No

checkExistsOnMethod

Specifies whether the container checks for the existence of a bean for each method call.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No

clusterInvalidationDisabled

For an EJB that uses Optimistic or ReadOnly concurrency, specifies whether the EJB is invalidated when it is updated by a member of a cluster to which it is deployed. When true, the container does not send out multicast invalidation messages when such EJBs are updated.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED

Enum (Constants.Bool)

No

optimisticColumn

Specifies the column that holds the timestamp for optimistic concurrency.

The default value for this attribute is UNSPECIFIED.

String

No

orderDatabaseOperations

Determines whether to sort the database operations.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No.

runAsIdentityPrincipal

Deprecated. Use runAsPrincipalName instead.

String

No

runAsPrincipalName

Gives the name of the principal in case the role maps to several principals.

The default value for this attribute is UNSPECIFIED.

String

No

delayDatabaseInsertUntil

Specifies until when database inserts should be delayed.

Valid values for this attribute are as follows:

  • Entity.DelayDatabaseInsertUntil.UNSPECIFIED

  • Entity.DelayDatabaseInsertUntil.EJB_CREATE

  • Entity.DelayDatabaseInsertUntil.EJB_POST_CREATE

The default value is Entity.DelayDatabaseInsertUntil.UNSPECIFIED.

Enum

No

enableCallByReference

Specifies whether the container will call this EJB by reference.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.

Enum (Constants.Bool)

No

validateDbSchemaWith

Specifies the method used to validate the tables created by the EJB container.

Valid values for this attribute are as follows:

  • Entity.ValidateDBSchemaWith.UNSPECIFIED

  • Entity.ValidateDBSchemaWith.META_DATA

  • Entity.ValidateDBSchemaWith.TABLE_QUERY

The default value is Entity.ValidateDBSchemaWith.UNSPECIFIED.

Enum

No

dispatchPolicy

Specifies the dispatch policy queue for this bean.

The default value for this attribute is UNSPECIFIED.

String

No

remoteClientTimeout

Specifies the length of time that a remote RMI client will wait before it will time out.

The default value of this attribute is UNSPECIFIED

String

No

lockOrder

Sets the database locking order of this bean when a transaction involves multiple beans.

The default value of this attribute is UNSPECIFIED.

String

No

findersLoadBean

If set to True, the beans will immediately be loaded into the cache by the finder.

See Constants.Bool for the list of valid values for this attribute.

The default value is Constants.Bool.UNSPECIFIED.