Boa noite amigos,
Antes de mais nada, desejo um ótimo 2013 à todos!
Meu problema é o seguinte:
Tenho um sistema legado em pleno funcionamento. Estou desenvolvendo um sistema que usará o mesmo banco que esse primeiro sistema. Fiz os mapeamentos de todas as tabelas. Todas as tabelas desse banco usam uma tabela auxiliar para montar o Id. Vejam a classe abaixo
@Entity
@Table(name="tbl_config")
public class Config implements Serializable, Entidade {
private static final long serialVersionUID = 1L;
@Id
@TableGenerator(name="CONFIG_GENERATOR",table="TBL_SEQUENCES",pkColumnValue="TBL_CONFIG")
@GeneratedValue(strategy=GenerationType.TABLE,generator="CONFIG_GENERATOR")
@Column(name="config_id")
private Long configId;
@Column(name="created_by")
private String createdBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="created_date")
private Date createdDate;
@Column(name="modified_by")
private String modifiedBy;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="modified_date")
private Date modifiedDate;
@Column(name="property_name")
private String propertyName;
@Lob
@Column(name="property_value",columnDefinition="TEXT")
private String propertyValue;
//Getters e Setters
}
O problema é que ao testar, percebi que em alguns testes, ao persistir um objeto dessa classe no banco, era utilizado um Id já existente (gerado pelo sistema legado), causando uma Exception. Como eu poderia impedir isso? Eu imaginava que ao persistir o objeto, seria buscado o último Id salvo no banco, e daí seria incrementado mais um.
Alguém poderia me ajudar nesse problema?
Um fraterno abraço!