В чем разница между аргументом имени в @Entity и @table при использовании JPA?

Я использую JPA2 и обои @Entity и @Table имеет атрибут атрибут, e. G. :

@Entity(name="Foo")
@Table (name="Bar")
class Baz

Что я должен использовать, какие из них являются необязательными?

В моем конкретном случае у меня есть класс пользователя и группа класса , которые имеют дополнительные требования (насколько я понимаю), потому что они зарезервированы слова в SQL.

Как выглядит рабочее решение, и с каким именем я ссылаюсь на объект при написании запросов?

Обновлено. Я добавил name = "Группы" для групп аннотаций в и сделал то же самое для пользователя , но теперь я получаю эту ошибку:

Exception Description: The table [USERS] is not present in this descriptor.
Descriptor: RelationalDescriptor(example.Group --> [DatabaseTable(GROUPS)])

и

Internal Exception: java.sql.SQLException: Table not found in statement [SELECT ID, MAXIMUMROLE, MEMBERSHIPS_ID FROM USERS]
51
задан soc 31 August 2011 в 04:31
поделиться