Hi! Many of my entities have an id of type long. So I put the code (getters, setters ...) into an superclass. After I did it, the id wasn't initialized by hibernate any more, if I persisted an entity. Thats very strange.
Here is the code: | public class GenerateValueTestcase extends TestCase { | | @MappedSuperclass | public static abstract class EntityWithIntId { | | private long id = -1; | | @Id | @GeneratedValue(strategy = GenerationType.AUTO) | public long getId() { | return id; | } | | public void setId(long id) { | this.id = id; | } | } | | @Entity | public static class TestEntity extends EntityWithIntId implements Serializable { | | private static final long serialVersionUID = 1L; | | } | | public void testGeneratedIds() { | | TestStarterRemote bean = UsefullFunctions.getTestStarterRemote(); | | Set<Long> ids = new HashSet<Long>(); | | final int NO_ENTITIES = 10; | | for (int i = 0; i < NO_ENTITIES; i++) { | EntityWithIntId entity = new TestEntity(); | entity = bean.merge(entity); | ids.add(entity.getId()); | } | | assertEquals("Each entity must have an unique id", NO_ENTITIES, ids | .size()); | | } | | } | The bean.merge method: | public <T> T merge(T o) { | return entityManager.merge(o); | } | Any ideas or workarounds? Copying the code into each class is not the best idea I think.... Thanks for your help Meinert View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3986471#3986471 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3986471 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user