0
Я новичок в спящем режиме. Я пытаюсь отобразить следующий объект, но получаю исключение отображения hibernate. Помощь будет высоко оценена. Помните, Iam использования PostgreSQLПроблема с гибернацией с postgresql
package st.malike.auth.server.model;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import org.springframework.security.oauth2.common.OAuth2RefreshToken;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
@Entity
public class OAuth2AuthenticationRefreshToken implements Serializable {
// @Indexed
@javax.persistence.Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;
private final String tokenId;
private final OAuth2RefreshToken oAuth2RefreshToken;
private final OAuth2Authentication authentication;
public OAuth2AuthenticationRefreshToken(OAuth2RefreshToken oAuth2RefreshToken, OAuth2Authentication authentication) {
this.oAuth2RefreshToken = oAuth2RefreshToken;
this.authentication = authentication;
this.tokenId = oAuth2RefreshToken.getValue();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTokenId() {
return tokenId;
}
public OAuth2RefreshToken getoAuth2RefreshToken() {
return oAuth2RefreshToken;
}
public OAuth2Authentication getAuthentication() {
return authentication;
}
}
И получать исключение, как показано ниже
Caused by: org.hibernate.MappingException: Could not determine type for: org.springframework.security.oauth2.common.OAuth2RefreshToken,
at table: oauth2authentication_refresh_token,
for columns: [org.hibernate.mapping.Column(o_auth2refresh_token)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:396) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:369) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.mapping.Property.isValid(Property.java:225) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:595) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.mapping.RootClass.validate(RootClass.java:265) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:329) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:443) ~[hibernate-core-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.9.Final.jar:5.0.9.Final]
... 162 common frames omitted
просьба представить схему вашего стола тоже – Zulfi
ли вы собираетесь хранить значение всех полей в базе данных? особенно поля 'oAuth2RefreshToken' и' authentication', вы хотите, чтобы они были сохранены в db? если не аннотировать их с помощью '@ Transient' или добавить модификатор' transient' к их объявлению –
@ Конфигурация Zulfi - spring.datasource.url = jdbc: postgresql: // localhost: 5432/eCoreAS spring.datasource.username = postgres spring.datasource.password = Postgre spring.datasource.driver класса имя = org.postgresql.Driver spring.datasource.maxActive = 10 spring.datasource.maxIdle = 5 spring.datasource.minIdle = 2 пружины. datasource.initialSize = 5 spring.datasource.removeAbandoned = истинный spring.jpa.database-платформа = org.hibernate.dialect.PostgreSQLDialect spring.jpa.generate-DDL = истинный spring.jpa.show-SQL = тр ue spring.jpa.hibernate.ddl-auto = create – Farhan