Spring OAuth 2 — схема базы данных как объекты JPA

Я хочу создать базу данных для моего JDBC TokenStore независимо от типа базы данных. Поэтому я хочу использовать объекты JPA для автоматического создания таблиц и столбцов.

Существует множество схем (например, этот) для базы данных, используемой Spring OAuth2, которую можно найти в Интернете. Но я не могу найти объекты JPA для этих таблиц.

Чтобы было ясно, я ищу что-то вроде этого:

import javax.persistence.*;

@Entity
@Table(name = "oauth_client_token")
public class OauthClientToken implements java.io.Serializable {
    [...]
}

Кто-нибудь из них летает? Их создать не составило бы большого труда, но я не хочу совершать ошибок.


person Mathis    schedule 17.07.2017    source источник


Ответы (1)


Я думаю, что это имело бы смысл, если бы эти объекты JPA были доступны. Вероятно, причина, по которой они не добавили объекты JPA, заключается в том, что не все таблицы имеют первичные ключи, например:

create table oauth_refresh_token (
  token_id VARCHAR(256),
  token LONGVARBINARY,
  authentication LONGVARBINARY
);

JPA требует, чтобы у каждой сущности был первичный ключ. Можно создать свой собственный объект и добавить инкрементный идентификатор в качестве первичного ключа, однако я не уверен, окажет ли это негативное влияние или нет.

person Albert Bos    schedule 08.08.2017