Verifique a visualização Problemas para obter informações sobre os estereótipos ausentes.
Você pode especificar os seguintes elementos como origens para a transformação UML-para-JPA:
A transformação transforma o conteúdo de modelos, pacotes, classes e interfaces UML. Por exemplo, ao transformar uma classe, a transformação também transforma as operações e propriedades da classe.
Se você selecionar um modelo ou elementos de modelo na visualização Explorador de Projetos em vez de utilizar o editor de Configuração de Transformação, o modelo ou elementos selecionados substituirão o modelo ou elementos de origem especificados na configuração de transformação. A configuração de transformação não é afetada e a origem especificada na página Origem e Destino do editor de configuração de transformação ou no assistente de Nova Configuração de Transformação não é alterada.
A transformação pode gerar saída para um projeto JPA ou Java, ou uma pasta de origem em um projeto JPA ou Java. Você pode criar o projeto JPA com ou sem um projeto de cliente. A transformação gera código na primeira pasta de origem detectada do projeto JPA e na primeira pasta de origem detectada do projeto de cliente, se existir.
Ao configurar a transformação para gerar um descritor de implementação, ele gera todas as anotações JPA nos arquivos de persistência, e não gera anotações JPA no código Java.
Você pode utilizar a transformação UML-para-JPA para criar relacionamentos de rastreio das classes Java geradas com os elementos de origem UML. Depois, você pode visualizar os relacionamentos de rastreio em um diagrama de tópicos, criando e executado consultas do modelo.
A criação de relacionamentos de rastreio é útil em projetos grandes que podem conter vários modelos e várias configurações de transformação. Você também pode criar e executar consultas de rastreabilidade que exibem como a saída da transformação está relacionada às especificações de software e aos elementos de modelo.
Quando você reexecutar a transformação, se necessário, a transformação utilizará o identificador no código-fonte para combinar os elementos correspondentes e, em seguida, alterará o código para refletir as alterações no modelo. Por exemplo, se você renomear uma operação UML no modelo de origem e reexecutar a transformação, a transformação renomeará o método Java gerado anteriormente e preservará o corpo do método, em vez de excluir o método gerado anteriormente e incluir um novo método.
A transformação Java–para-UML, ou reversa, também pode utilizar os identificadores para combinar elementos correspondentes entre o projeto Java e o modelo UML. Se aplicáveis, as alterações nos elementos do código-fonte Java serão tratadas como modificações ou como refatoração de código em vez de inclusões e exclusões no código gerado.
| Elemento UML | Saída da Transformação | Relacionamento de Rastreio em um Diagrama de Classes |
|---|---|---|
![]() |
/**
*
*/
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Entity;
import java.io.Serializable;
/**
* <!-- begin-UML-doc -->
* <!-- end-UML-doc -->
* @uml.annotations
* derived_abstraction="platform:/resource/Miscellaneous%20Models/Blank%20Package1.emx#_sQ4U4J-QEd2RedZBNurApQ"
* @generated "sourceid:platform:/resource/Miscellaneous%20Models/Blank%20Package1.emx#_sQ4U4J-QEd2RedZBNurApQ"
*/
@Entity
@NamedQuery(name = "EntityClass.findByid", query = "select obj from EntityClass where obj.id = :id")
public class EntityClass implements Serializable {
/**
* <!-- begin-UML-doc -->
* <!-- end-UML-doc -->
* @generated "sourceid:platform:/resource/Miscellaneous%20Models/Blank%20Package1.emx#_sRjDQZ-QEd2RedZBNurApQ"
*/
@Id
private Integer id;
/**
* @return the id
* @generated "sourceid:platform:/resource/Miscellaneous%20Models/Blank%20Package1.emx#_sRjDQZ-QEd2RedZBNurApQ?GETTER"
*/
public Integer getId() {
// begin-user-code
return id;
// end-user-code
}
/**
* @param id the id to set
* @generated "sourceid:platform:/resource/Miscellaneous%20Models/Blank%20Package1.emx#_sRjDQZ-QEd2RedZBNurApQ?SETTER"
*/
public void setId(Integer id) {
// begin-user-code
this.id = id;
// end-user-code
}
/**
/**
* <!-- begin-UML-doc -->
* <!-- end-UML-doc -->
* @generated "sourceid:platform:/resource/Miscellaneous%20Models/Blank%20Package1.emx#_s0NrcJ-QEd2RedZBNurApQ"
*/
public void Operation1() {
// begin-user-code
// TODO Auto-generated method stub
// end-user-code
}
/**
* <!-- begin-UML-doc -->
* <!-- end-UML-doc -->
* @generated
*/
private static final long serialVersionUID = 0;
/**
* <!-- begin-UML-doc -->
* <!-- end-UML-doc -->
* @generated
*/
public EntityClass() {
}
|
![]() |
A transformação não altera o modelo de origem quando você especifica para a transformação gerar relacionamentos de rastreio.
A transformação fornece funcionalidade de integração com os sistemas de controle de versão IBM® Rational Team Concert, CVS, Rational ClearCase, e Rational ClearCase LT, que possibilita efetuar o registro de saída dos arquivos automaticamente ou incluir novos arquivos. É necessário ativar os recursos de equipe para trabalhar com os sistemas de gerenciamento de configuração.