This code works perfectly!!
Code:
Query query = session.createQuery("from Evenement where CODE_INITIATEUR_CTRL = :initiateur");
query.setString("initiateur", initiateur);
List resultat = query.list();
My problem is that am using the name of the column in my database, this is bad! Usually I use the name of the attribute in my Java object.
I want this code to work. It would be a lot better I think!!
Code:
Query query = session.createQuery("from Evenement where initiateur = :initiateur");
query.setString("initiateur", initiateur);
List resultat = query.list();
I have this Exception when running this code.
java.sql.SQLException: ORA-00904: "INITIATEUR": invalid identifier
Here is my Class and Mapping. (Simplified to expose the problem)
Oracle9, Hibernate 2.1.2
Code:
public class Evenement implements Serializable{
private Long id;
private String initiateur;
public Evenement() {}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getInitiateur() {
return initiateur;
}
public void setInitiateur(String string) {
initiateur = string;
}
}
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping schema="vip">
<class name="com.lq.infrastructure.services.journalisation.evenement.Evenement" table="T_EVENEMENT">
<id name="id" column="ID_EVENEMENT">
<generator class="sequence">
<param name="sequence">sq_evenement</param>
</generator>
</id>
<property name="initiateur" column="CODE_INITIATEUR_CTRL" not-null="true"/>
</class>
</hibernate-mapping>
Thank you!