У меня есть одна реализация, где моя сущность Company
расширяется RootEntity
с помощью
strategy =InheritanceType.JOINED.(I am using hibernate-entitymanager)
У меня есть другие сущности, которые не расширяются RootEntity
.Когда я создаю все объекты, он создает. Но когда я пытаюсь обновить расширенную сущность RootEntity
, она не обновляется.Но не расширяющаяся сущность обновляется.Код обновления находится в GenericDaoImpl
, поэтому это тот же метод обновления.
в чем может быть проблема?мой код:
@Transactional(value="tx")
public E update(E entity) {
E merged = null;
RootEntity baseEntity = null;
if(entity instanceof RootEntity ){
baseEntity = (RootEntity)entity;
merged = entityManager.find(entityClass, baseEntity.getId());
}
merged = entityManager.merge(entity);
entityManager.flush();
return merged;
}
Мой объект, который я пытаюсь объединить:
public class Societa extends RootEntity implements Serializable{
private static final long serialVersionUID = 1L;
// ASSOCIAZIONE CAMPI DB VARIABILI NELLA CLASSE
@Column(name="nomeSocieta",nullable = false,columnDefinition="CHAR(80)")
private String nomeSocieta;
......
}
и мой RootEntity:
@Entity
@Inheritance(strategy =InheritanceType.JOINED)
public class RootEntity {
private static final long serialVersionUID = 1L;
@Id
@Column(name="id",nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
...getters/setters..
}