2016-05-06 5 views
0

ich Probleme bin vor Abfrage in Hibernate zu tun folgen JOIN:Execute Abfrage Hibernate JOIN - konnte nicht Eigentum lösen

from proposal_evaluate_backoffice pab INNER JOIN pab.proposal pp INNER JOIN pab.analisys_backoffice ab where pp.sq_proposal = :sqProposal

Wo "proposal_evaluate_backoffice" Tabellenverweise "Vorschlag" und "analisys_backoffice" Tabellen @JoinColumn > @ManyToOne Anmerkungen

Im erhaltenen Folgefehler:

org.hibernate.QueryException: could not resolve property: proposal of: com.skyautomate.model.Proposal_Evalaute_Backoffice [from com.skyautomate.model.Proposal_Evaluate_Backoffice pab INNER JOIN pab.proposal pp INNER JOIN pab.analisys_backoffice ab where pp.sq_proposal = :sqProposal]] with root cause org.hibernate.QueryException: could not resolve property: proposal of: com.skyautomate.model.Proposal_Evaluate_Backoffice

meinen Code Folgen:

@Entity @Table(name="proposal_evaluate_backoffice") public class Proposal_Evaluate_Backoffice implements Serializable {

@Id 
@ManyToOne 
@JoinColumn(name="sq_proposal") 
private Proposal sq_proposal; 
@Id 
@ManyToOne 
@JoinColumn(name="sq_evaluate_backoffice") 
private Evaluate_Backoffice sq_evaluate_backoffice; 

Ich habe keine bestimmte Datei config für Hibernate (hibernate.cfg.xml), aber ich habe alle Konfiguration zusammen in „applicationContext.xml“ setzen, da ich bin mit Frühling MVC auch.

Folgen Code applicationContext.xml Datei, wo ich Bohnen erklärt:

<!-- Hibernate 4 SessionFactory Bean definition --> 
<beans:bean id="hibernate4AnnotatedSessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <beans:property name="dataSource" ref="dataSource" /> 
    <beans:property name="annotatedClasses"> 
     <beans:list> 
      <beans:value>com.skyautomate.model.Proposal</beans:value> 
      <beans:value>com.skyautomate.model.Evaluate_Backoffice</beans:value> 
      <beans:value>com.skyautomate.model.Proposal_Evaluate_Backoffice</beans:value> 
     </beans:list> 
    </beans:property> 
    <beans:property name="hibernateProperties"> 
     <beans:props> 
      <beans:prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect 
      </beans:prop> 
      <beans:prop key="hibernate.show_sql">true</beans:prop> 
      <beans:prop key="hibernate.default_schema">spweb</beans:prop> 
     </beans:props> 
    </beans:property> 
</beans:bean> 

Irgendwelche Ideen?

Antwort

1

Dies geschieht, weil der Name des Vorschlagsfelds sq_proposal lautet. Sie sollten nach dem Feldnamen abrufen.

HQL wird mit den Definitionen, die innerhalb der Entität liegen, in SQL übersetzt: der Name der Entität (From-Klausel) und die Feldnamen für die anderen Klauseln.

Verwandte Themen