2017-09-05 1 views
0

J'ai une entité et tous mes SELECT fonctionnent correctement.Erreur Hibernate lorsque j'utilise l'annotation @Formula

Mais maintenant, je suis en train d'utiliser @Formula

@Formula("(SELECT DESFILIAL FROM SESC.DAFILIAL WHERE CODFILIAL = 2 FETCH FIRST 1 ROWS ONLY)") 
private String desfilial; 

Et qui cause une erreur sur Hibernate:

java.lang.NullPointerException 
    at org.hibernate.loader.DefaultEntityAliases.intern(DefaultEntityAliases.java:193) 
    at org.hibernate.loader.DefaultEntityAliases.getSuffixedPropertyAliases(DefaultEntityAliases.java:151) 
    at org.hibernate.loader.DefaultEntityAliases.determinePropertyAliases(DefaultEntityAliases.java:93) 
    at org.hibernate.loader.DefaultEntityAliases.<init>(DefaultEntityAliases.java:65) 
    at org.hibernate.loader.ColumnEntityAliases.<init>(ColumnEntityAliases.java:43) 
    at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns(SQLQueryReturnProcessor.java:198) 
    at org.hibernate.loader.custom.sql.SQLCustomQuery.<init>(SQLCustomQuery.java:152) 
    at org.hibernate.engine.query.spi.NativeSQLQueryPlan.<init>(NativeSQLQueryPlan.java:67) 
    at org.hibernate.engine.query.spi.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java:155) 
    at org.hibernate.internal.AbstractSessionImpl.getNativeSQLQueryPlan(AbstractSessionImpl.java:219) 
    at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:225) 
    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156) 
    at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:890) 

Je l'ai déjà vu ce problème sur certains forums, mais toute solution. Est-ce que quelqu'un sait pourquoi @Formula cause cela?

Répondre

3

Quelle version d'Hibernate utilisez-vous? Il y a ce lien vers un bogue connu avec @Formula provoquant un NullPointerException.

https://hibernate.atlassian.net/browse/HHH-7525

+0

J'utilise 4.1.0.Final ... –

+0

Par ailleurs, la même erreur pour Hibernate 4.2 et 4.3. –