[jboss-user] [EJB 3.0] - Up-/Downcasting from objects with partial db-update

hamtho2 do-not-reply at jboss.com
Tue Jan 23 12:04:37 EST 2007


Hi,

I´ve got two objects, that are extended from each other. For example they look like this:


  | @Entity
  | @Table(name = "users")
  | @Name("user")
  | @Scope(ScopeType.SESSION)
  | public class User implements Serializable {
  |     
  |     @Column(name = "create_date", nullable = false)
  |     @Temporal(TemporalType.TIMESTAMP)
  |     private Date createDate;
  |     
  |     @Length(min=6)
  |     @Column(name = "password", nullable = false)
  |     private String password;
  |     
  |     @Column(name = "name", nullable = false)
  |     private String name;
  |     
  | ....
  | }
  | 
  | @Entity
  | @Table(name = "extendedUser")
  | @Name("publisher")
  | @Scope(ScopeType.SESSION)
  | public class ExtendedUser extends User implements Serializable {
  | 
  |     @Column(name = "upgrade_date", nullable = false)
  |     @Temporal(TemporalType.TIMESTAMP)
  |     private Date upgradeDate;
  | 
  | ....
  | }
  | 

I´ve also got 2 tables. One holds all the attributes for the user and the other one holds only the additional attributes of the extendedUser all with the same primaryKey. What I would like to do now is to upcast my User to an ExtendedUser, so that it keeps all the values in the user-table and creates an entry in my extended-users table with all additional values of the extended object.

When I simply upcast my object and try to persist it with an em.merge(extendedUser) I get an Exception because it tries to persist a completely new extendedUser, which is absolutely correct, because it should only add the additional values and not create a new entry. 

Is there a way to do an upcast/downcast and adding/deleting only the additional attributes of the inherited objects?

Thanks for your help

Thomas

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4005398#4005398

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4005398




More information about the jboss-user mailing list