SóProvas


ID
943207
Banca
CESPE / CEBRASPE
Órgão
INPI
Ano
2013
Provas
Disciplina
Programação
Assuntos

A respeito dos frameworks de desenvolvimento Java, julgue os itens subsecutivos.

No Hibernate, caso o nome da classe seja diferente do nome da tabela mapeada, é necessário informar, na anotação @Table, o nome da tabela, por meio do atributo name.

Alternativas
Comentários
  • Questão correta. Vale lembrar que no mapeamento da classe pode-se, ainda, informar na anotação @Table o esquema do banco de dados em que a tabela pertence, utilizando o atributo schema. Ex.: @Table(name="Nome_da_Tabela", schema="Nome_do_Esquema")
  • Só tomem cuidado:

    Considerando que hibernate é uma implementação de JPA, a annotação @Entity(name="NomeTabela") também é válida, portanto a anotação @Table não é necessária

    @Table vs @Entity

    @Table is optional
    @Entity is needed for annotating a POJO class as an entity, but the name attribute is not mandatory.

    ----------------------------------------------------------------------
    If you have a class
    @Entity
    class MyEntity {}
    A table with name "MyEntity" will be created and the Entity name will be MyEntity.

    ----------------------------------------------------------------------

    @Entity(name="NewName")

    class MyEntity {}

    A table with name "NewName" will be created and the Entity name will be MyEntity.

    if you have a class

    ----------------------------------------------------------------------

    @Entity(name="MyEntityName")
    @Table(name="MyEntityTableName")
    class MyEntity {}

    then a table with name MyEntityTableName is created and the entity name is MyEntityName.

    http://stackoverflow.com/questions/7259273/whats-the-difference-between-the-name-argument-in-entity-and-table-when-using
    https://www.quora.com/What-is-the-difference-between-Entity-name-Emp-and-Table-name-Emp-in-Hibernate