[jboss-user] [EJB 3.0] - howto? new entity persist with aggregates that are already p

hanasakijiji do-not-reply at jboss.com
Tue Mar 6 10:24:46 EST 2007


JBoss 4.0.5 - EJB3 - Entity Beans

** The problem is - the foreign key column is not set on the newInstance Row.  thus the inserted value is NULL.


There is an new instance of a class that is being worked on as follows:
aggregate = // retrieve / find in database - ie: already persisted
  | newInstance = new NewInstance();
  | newinstance.setValue(aggregate)
  | em.persist(newInstance)

newInstance is saved, as a new row, in the RDBMS just fine; however, the aggregate_fk (see below for table) is set to null - actually I think it is not even in the insert statement.

NewInstance.get/setValue are defined below:
@OneToOne(cascade=CascadeType.ALL)
  | @JoinColumn(name="aggregate_fk", insertable=false, updatable=false, referencedColumnName="pk")
  | public Aggregate getValue() { return aggregate; }

NewInstance Table (Pseudo Notation for sql)
integer pk
  | char(10) column1
  | integer aggregate_fk -- foreign key reference to aggregate table

Aggregate is actually a lookup table as below
integer pk
  | char(15) key
  | varchar(64) value

*Note: this table is referenced by many other tables in the system; therefore, it cannot contain annotations of OneToMany (etc..) to a specific other table.




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

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



More information about the jboss-user mailing list