I'm guessing from the class name that you've tried
to define the getter in the local home?
It is unclear what you are asking in your second question.
Local interfaces cannot be used outside the same VM where
load balancing would be used.
Yes I have tried to declare it in the local home...is that incorrect?
About the second question: I am debating whether or not to use Value Objects to aggregate all the field values from the entity into a value object. I see no point in using the Value Objects if all my calls from the session bean layer (facade) will be local and I can create a value object in the session bean layer. In a clustered environment, will the session bean layer (facade) still be making local calls to the entity beans?
The value object should be on the remote/local interface.
It is more efficient to contruct the value object at the
entity level. Consider an entity with 20 fields.
That would require 20 getXXX invocations but getValue()
only requires one.
The session bean should be using local entity beans
so load balancing/failover doesn't happen at this level.
It happens at the session level.
I have tried to add a value object creation method but I was getting Deployment problems:
org.jboss.deployment.DeploymentException: No abstract accessors for field named 'stateSelectionID' found in en
tity class com.tpg.main.framework.engine.consumer.mdb.GroupStatesBean
I eliminated the abstract methods and assigned the values from the query to the variables of the class as in the attached file. I cannot have them being abstract since there must be implementation for teh value object code.
I am in a bit of a cunnundrum here,
Thanks for any help,
Is this CMP1.1 or CMP2
The persistent fields should have abstract gets and sets
I am using CMP 2.0.
Does that mean that I can't have a Value Object in my entity bean class cause I can't define the implementation of the getData() method which returns the value object if it's supposed to be abstract? Is there a way around this?