[code]@Entity
@SequenceGenerator(name = “SEQ_RPS_OPERADOR”, sequenceName = “SEQ_RPS_OPERADOR”, allocationSize = 1)
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = “RPS_OPERADOR”)
public class Operador extends ClasseEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “SEQ_RPS_OPERADOR”)
@NotNull
@Column(name = “ID_OPERADOR”, nullable = false)
private Long id;
@NotNull
@OneToOne(cascade=CascadeType.ALL, orphanRemoval=true)
@JoinColumn(name = "ID_OPERADOR", insertable=false, updatable=false)
private Solicitacao solicitacao;
}[/code]
[code]@Entity
@Table(name = “RPS_SOLICITACAO”)
public class Solicitacao extends ClasseEntity{
@Id
@GeneratedValue(generator = “system-foreign”)
@GenericGenerator(name = “system-foreign”, strategy = “foreign”, parameters=@Parameter(name = “property”, value = “operador”))
@Column(name=“ID_OPERADOR”)
private Long id;
@OneToOne(mappedBy = "solicitacao", optional=false)
@JoinColumn(name="ID_OPERADOR", insertable=false, updatable=false)
private Operador operador;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "ID_OPERADOR", referencedColumnName = "ID_OPERADOR" )
@Column(name = "operador", nullable = false)
private Set<Prestador> prestadores = new HashSet<Prestador>(0);
}[/code]
[code]@Entity
@SequenceGenerator(name = “SEQ_RPS_PRESTADOR”, sequenceName = “SEQ_RPS_PRESTADOR”, allocationSize = 1)
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = “RPS_PRESTADOR”)
public class Prestador extends ClasseEntity {
@Id
@NotNull
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “SEQ_RPS_PRESTADOR”)
@Column(name = “ID_PRESTADOR”, nullable = false)
private Long id;
@NotNull
@OneToOne(cascade=CascadeType.ALL, orphanRemoval=true)
@JoinColumn(name = "ID_PRESTADOR", insertable=false, updatable=false)
private Vinculacao vinculacao;
}[/code]
[code]@Entity
@Table(name = “RPS_VINCULACAO”)
public class Vinculacao extends ClasseEntity {
@Id
@NotNull
@GenericGenerator(name = “system-foreign”, strategy = “foreign”, parameters=@Parameter(name = “property”, value = “vinculacao”))
@Column(name = “ID_PRESTADOR”, nullable = false)
private Long id;
@OneToOne(mappedBy = "vinculacao", optional=false)
@JoinColumn(name="ID_PRESTADOR", insertable=false, updatable=false)
private Prestador prestador;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "ID_PRESTADOR", referencedColumnName = "ID_PRESTADOR" )
@Column(name = "vinculacao", nullable = false)
private Set<RegistroPlano> registroPlanos = new HashSet<RegistroPlano>(0);
}[/code]
Erro ao incluir:
ERROR: br.com.projeto.core.modelo.dao.CrudDAOImpl - [Erro na Inclusão]
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): br.com.projeto.rps.modelo.entity.Vinculacao