2015-10-10 4 views
0

Это моя сущность класс:Hibernate: Не удалось определить тип для класса

@Entity 
public class User implements Serializable { 
    @Column(name = "instagram_token") 
    private Token instagramToken; 

    @Column(name = "paypal_credential") 
    private SignatureCredential signatureCredential; 

Токен и SignatureCredential являются 3-й классы партии. Hibernates определяет тип для Token, но не может сделать то же самое для SignatureCredential, и я не понимаю, почему.

public class Token implements Serializable { 
    private static final long serialVersionUID = 715000866082812683L; 
    private final String rawResponse; 
    private final String secret; 
    private final String token; 


public class SignatureCredential implements ICredential { 
    private String userName; 
    private String password; 
    private String applicationId; 
    private String signature; 
    private ThirdPartyAuthorization thirdPartyAuthorization; 

public interface ThirdPartyAuthorization { 

} 
+0

не могли бы вы отправить сообщение об ошибке? –

+0

_ «Спящий режим определяет тип для токена» _ Как вы это подтвердили? –

ответ

3

Ваш Токен предприятие реализует Serializable, который является допустимым типом для свойства Entity. С другой стороны, SignatureCredential не реализует Serializable, и не является типом, который Hibernate распознает как действительный тип Entity. Пока, ICredential интерфейс расширяет интерфейс Serializable (которого я не вижу в вашем коде).

См: https://docs.jboss.org/hibernate/orm/5.0/manual/en-US/html/ch05.html#mapping-types

В JPA здесь допустимы простые типы, которые могут быть отображены:

  • Примитивные типы Java: BYTE, INT, короткие, длинные, логические, полукокса, с плавающей точкой, двойной
  • Wrapper классы примитивных типов Java: Byte, Integer, Short, Long, Boolean, Character, Float, Double
  • Byte и массив символов типа: байт [], Byte [], символ [], Character []
  • Большие числовые типы: java.math.BigInteger, java.math.BigDecimalStrings:
  • java.lang.String
  • Java временные типы: java.util.Date, java.util.Calendar
  • JDBC временные типы: java.sql.Date, java.sql.Time, java.sql.Timestamp
  • перечисляемых типов: любая система или перечислены определенные пользователем типа
  • Сериализуемые объекты: любая система или сериализации определяемого пользователем типа
Смежные вопросы