IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Migration en annotation "could not resolve property"


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut Migration en annotation "could not resolve property"
    Bonjour tous le monde,

    J'ai un projet ou j'utilisais des hbm, je souhaite migrer avec des annotations.
    Mais je n'arrive pas a le faire avec une simple table.

    Entity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    @Entity
    @NamedQuery(name="message.findByUser", query="SELECT m FROM Message m WHERE m.iduser=:id")
    @Table(name="MESSAGE")
    public class Message implements Serializable {
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	@Id @GeneratedValue
    	@Column(name = "id", unique = true, nullable = false)
    	private java.lang.Integer _id;
     
    	private java.lang.Integer _iduser;
    	@Column(name = "audiofile")
    	private java.lang.String _audiofile;
    	@Column(name = "audio")
    	private java.lang.String _audio;
    	@Column(name = "name", nullable = false)
    	private java.lang.String _name;
     
    	public Message () {
    	}
     
    	public Message (java.lang.Integer _id) {
    		this.setId(_id);
    	}
     
    	public Message (
    		java.lang.Integer _id,
    		java.lang.Integer _iduser,
    		java.lang.String _audiofile,
    		java.lang.String _audio) {
     
    		this.setId(_id);
    		this.setIduser(_iduser);
    		this.setAudiofile(_audiofile);
    		this.setAudio(_audio);
    	}
     
    	public java.lang.String getName() {
    		return _name;
    	}
     
    	public void setName(java.lang.String _name) {
    		this._name = _name;
    	}
     
    	public java.lang.Integer getId () {
    		return _id;
    	}
     
    	public void setId (java.lang.Integer _id) {
    		this._id = _id;
    	}
     
    	@Column(nullable = false)
    	public java.lang.Integer getIduser () {
    		return _iduser;
    	}
     
    	public void setIduser (java.lang.Integer _iduser) {
    		this._iduser = _iduser;
    	}
     
    	public java.lang.String getAudiofile () {
    		return _audiofile;
    	}
     
    	public void setAudiofile (java.lang.String _audiofile) {
    		this._audiofile = _audiofile;
    	}
     
    	public java.lang.String getAudio () {
    		return _audio;
    	}
     
    	public void setAudio (java.lang.String _audio) {
    		this._audio = _audio;
    	}
    }
    hiberntate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
     
    <hibernate-configuration>
    	<session-factory>
    		<!-- local connection properties -->
    		<property name="hibernate.connection.url">
    			jdbc:mysql://localhost:3306/vxmltree
    <!-- 				jdbc:mysql://192.168.1.4:3306/vxmltree -->
    		</property>
    		<property name="hibernate.connection.driver_class">
    			com.mysql.jdbc.Driver
    		</property>
    <!-- 		<property name="hibernate.connection.username">michael</property> -->
    <!-- 		<property name="hibernate.connection.password">wxcQSDaze123</property> -->
    		<property name="hibernate.connection.username">root</property>
    		<property name="hibernatez.sconnection.password"></property>
    <!-- 		property name="hibernate.connection.pool_size"></property -->
    		<!-- dialect for DB2 -->
    		<property name="dialect">
    <!-- 		    org.hibernate.dialect.HSQLDialect -->
    			org.hibernate.dialect.DB2Dialect
    		</property>
    		<property name="hibernate.show_sql">true</property>
    		<property name="hibernate.use_outer_join">true</property>
    		<property name="hibernate.jndi.class">
    			org.hibernate.service.jndi.internet.JndiService
    		</property>
    		<property name="hibernate.current_session_context_class">thread</property><!-- managed -->
     
    		<property name="hibernate.connection.provider_class">
    			org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
    		</property>
    		<property name="hibernate.c3p0.min_size">5</property>
    		<property name="hibernate.c3p0.max_size">20</property>
    		<property name="hibernate.c3p0.timeout">300</property>
    		<property name="hibernate.c3p0.preferredTestQuery">SELECT 1</property>
    		<property name="hibernate.c3p0.max_statements">0</property>
     
    		<mapping class="fr.iconsultants.ibox.server.hibernate.entities.Message" />
     
    	</session-factory>
    </hibernate-configuration>
    La factory:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public class HibernateFactory {
    	private static final SessionFactory sessionFactory;
     
    	static {
    		try {
    	         Configuration configuration = new Configuration();
    	            configuration.configure("hibernate.cfg.xml");
    	            ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder().applySettings(configuration
    	                            .getProperties());
    	            sessionFactory = configuration
    	                            .buildSessionFactory(serviceRegistryBuilder.buildServiceRegistry());
     
    		}catch(HibernateException ex){
    			throw new RuntimeException(
    					ex.getMessage(), ex);
    		}
    	}
     
    	public static final ThreadLocal session = new ThreadLocal();
     
    	public static Session currentSession(){
    		Session s = (Session) session.get();
    		if (s == null){
    			s = sessionFactory.openSession();
    			session.set(s);
    		}
    		return s;
    	}
    J'ai bien fait attention au getteur d'iduser, je tiens a signaler que même si je requête sur name, jai le même erreur.

    Merci d'avance et bonne journée

  2. #2
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    Bonjour,

    Ce serait bien d'avoir le stacktrace complet de l'erreur.

    Sinon, à première vue, ce qui me chipote c'est ton _idUser, il est sensé représenté quoi? Une foreign key vers la table USER?
    Si c'est le cas, ce n'est pas bon. Tu dois déclarer l'objet User avec l'annotation @ManyToOne. Ou au minimum @Transient, si tu ne veux pas qu'Hibernate prenne en compte un champs.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/12/2010, 11h08
  2. [Liferay] exception: org.hibernate.QueryException: could not resolve property
    Par lamis2009 dans le forum Portails
    Réponses: 2
    Dernier message: 11/06/2010, 11h13
  3. hibernate.QueryException: could not resolve property
    Par g56589 dans le forum Hibernate
    Réponses: 2
    Dernier message: 29/01/2008, 23h45
  4. [Hibernate] "could not resolve property" sur un tri
    Par Gorou dans le forum Hibernate
    Réponses: 1
    Dernier message: 13/07/2007, 12h27
  5. could not resolve property
    Par *alexandre* dans le forum Hibernate
    Réponses: 1
    Dernier message: 30/10/2006, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo