2016-11-25 2 views
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 
+0

просьба представить схему вашего стола тоже – Zulfi

+0

ли вы собираетесь хранить значение всех полей в базе данных? особенно поля 'oAuth2RefreshToken' и' authentication', вы хотите, чтобы они были сохранены в db? если не аннотировать их с помощью '@ Transient' или добавить модификатор' transient' к их объявлению –

+0

@ Конфигурация 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

ответ

2

Если вы не спасаете какое-либо значения для атрибута oAuth2RefreshToken, а затем добавить аннотацию @Transient игнорировать любое отображение с базой данных.

Если у вас есть отображение, пожалуйста, добавьте его в свой вопрос

Смежные вопросы