Hello, when looking at my openEjb log file, I can see some updates I've never done :-)
It looks like the entity is updated with the same values as stored already in the database, the entity object was not modified. This is what I do: Bti ent ; tx.begin () ; ent = em.find (Bti.class, 200L) ; tx.commit () ; and here's the result from the log: 11437 PersistencePU TRACE [main] openjpa.jdbc.SQL - <t 15431769, conn 13330996> executing prepstmnt 31536808 SELECT t0.genDate, t0.modDate, t0.bt_pkey, t0.descr, t0.fifo_order, t0.fifo_window, t0.ident, t0.type FROM Bti t0 WHERE t0.pkey = ? [params=(long) 200] ... Why is this update done ? ------------------==> 32719 PersistencePU TRACE [main] openjpa.jdbc.SQL - <t 15431769, conn 816382> executing prepstmnt 2665317 UPDATE Bti SET genDate = ?, modDate = ?, bt_pkey = ?, descr = ?, fifo_order = ?, fifo_window = ?, ident = ?, type = ? WHERE pkey = ? [params=(Timestamp) 2009-02-13 09:47:18.828, (Timestamp) 2009-02-13 09:59:06.375, (null) null, (null) null, (String) DESC, (int) 4711, (String) BTI-1, (String) TIMESTAMP, (long) 200] ------------------<== Can someone point me to what I'm doing wrong ? Thanks a lot for your help Norbert Here's the entity definition: @NamedQueries ({ @NamedQuery(name="Bti.findAll", query="SELECT o FROM Bti o WHERE o.btPkey = :btPkey"), @NamedQuery(name="Bti.findByIdent", query="SELECT o FROM Bti o WHERE o.btPkey = :btPkey and o.ident = :ident") }) @Entity @Table(uniqueconstrain...@uniqueconstraint(columnNames={"bt_pkey", "ident"})) public class Bti extends EntityBaseTimestamps implements Serializable { @Id @TableGenerator (name="PK_GEN_BTI", table="PK_GEN", pkColumnName="PK_IDENT", pkColumnValue="BTI.PKEY", valueColumnName="PK_VALUE") @GeneratedValue (strategy=GenerationType.TABLE, generator="PK_GEN_BTI") private Long pkey; private String ident ; @Column(name="bt_pkey") private Long btPkey ; private Long descr ; @Enumerated(EnumType.STRING) @Column(name="type",length=32) BtiType_e type ; @Enumerated(EnumType.STRING) @Column(name="fifo_order",length=32) BtiFiFoOrder_e fifoOrder ; @Column(name="fifo_window") Integer fifoWindow ; public Bti() { } } EntityBaseTimestamps is a @MappedSuperclass holding modDate and genDate fields.