Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [Java] Hibernate

  1. #1
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55

    [Java] Hibernate

    Ragazzi ho un problema.
    Ho questa classe bean


    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import static javax.persistence.GenerationType.IDENTITY;
    import javax.persistence.Id;
    import javax.persistence.Table;


    @Entity
    @Table(name = "member", catalog = "login")
    public class Member{

    private Integer id;
    private String username;
    private String password;
    private String nome;

    public Member() {
    }

    public Member(String username, String password, String nome) {
    this.username = username;
    this.password = password;
    this.nome = nome;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
    return this.id;
    }

    public void setId(Integer id) {
    this.id = id;
    }

    @Column(name = "username", length = 20)
    public String getUsername() {
    return this.username;
    }

    public void setUsername(String username) {
    this.username = username;
    }

    @Column(name = "password", length = 20)
    public String getPassword() {
    return this.password;
    }

    public void setPassword(String password) {
    this.password = password;
    }

    @Column(name = "nome", length = 50)
    public String getNome() {
    return this.nome;
    }

    public void setNome(String nome) {
    this.nome = nome;
    }

    public String toString(){
    String s;
    s=id+""+username+""+password+""+nome;
    return s;
    }

    }


    il dao


    import java.util.List;

    import org.springframework.orm.hibernate3.support.Hiberna teDaoSupport;
    import org.springframework.transaction.annotation.Transac tional;


    public class MemberDaoHibernateSupport extends HibernateDaoSupport implements MemberDao {








    @Transactional
    public int memberCount() {
    return findAllMember().size();
    }

    @Transactional
    public void delete(int id) {
    Member utente = (Member) getHibernateTemplate().get(Member.class, id);
    getHibernateTemplate().delete(utente);
    }



    @Transactional(readOnly = true)
    public List<Member> findAllMember() {
    return getHibernateTemplate().find("from Member");
    }

    @Transactional
    public Member findById(int id) {
    return (Member) getHibernateTemplate().get(Member.class, id);
    }

    @Transactional
    public void insert(Member utente) {
    getHibernateTemplate().saveOrUpdate(utente);
    }

    @Transactional
    public void update(Member utente) {
    getHibernateTemplate().saveOrUpdate(utente);
    }
    }


    e anche


    import java.util.List;

    import org.springframework.orm.hibernate3.HibernateTempla te;
    import org.springframework.transaction.annotation.Transac tional;


    public class MemberDaoImpl implements MemberDao {


    private HibernateTemplate hibernateTemplate;

    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    this.hibernateTemplate = hibernateTemplate;
    }

    public HibernateTemplate getHibernateTemplate() {
    return hibernateTemplate;
    }

    @Transactional
    public int memberCount() {
    return findAllMember().size();
    }

    @Transactional
    public void delete(int id) {
    Member utente = (Member) hibernateTemplate.get(Member.class, id);
    hibernateTemplate.delete(utente);
    }



    @Transactional(readOnly = true)
    public List<Member> findAllMember() {
    return hibernateTemplate.find("from Member");
    }

    @Transactional
    public Member findById(int id) {
    return (Member) hibernateTemplate.get(Member.class, id);
    }

    @Transactional
    public void insert(Member utente) {
    hibernateTemplate.saveOrUpdate(utente);
    }

    @Transactional
    public void update(Member utente) {
    hibernateTemplate.saveOrUpdate(utente);
    }
    }



    Appena vado a fare il meodo di test funzionano tutti (insert , update ,ecc) tranne il findAll



    import java.util.List;

    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.xml.XmlBeanFacto ry;
    import org.springframework.core.io.ClassPathResource;


    public class Test {
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    BeanFactory ctx = new XmlBeanFactory(new ClassPathResource("beans.xml"));
    MemberDao udi = (MemberDao)ctx.getBean("memberDao");




    System.out.println("Lista Membri:");
    List<Member> membri = udi.findAllMember();
    for (Member b : membri)
    System.out.println("\t\t"+b);


    }
    }



    e mi da questo errore


    Exception in thread "main" org.springframework.orm.hibernate3.HibernateQueryE xception: unexpected token: Member near line 1, column 6 [from Member]; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: Member near line 1, column 6 [from Member]
    at org.springframework.orm.hibernate3.SessionFactoryU tils.convertHibernateAccessException(SessionFactor yUtils.java:657)
    at org.springframework.orm.hibernate3.HibernateAccess or.convertHibernateAccessException(HibernateAccess or.java:412)
    at org.springframework.orm.hibernate3.HibernateTempla te.doExecute(HibernateTemplate.java:424)
    at org.springframework.orm.hibernate3.HibernateTempla te.executeWithNativeSession(HibernateTemplate.java :374)
    at org.springframework.orm.hibernate3.HibernateTempla te.find(HibernateTemplate.java:921)
    at org.springframework.orm.hibernate3.HibernateTempla te.find(HibernateTemplate.java:913)
    at MemberDaoHibernateSupport.findAllMember(MemberDaoH ibernateSupport.java:34)
    at Test.main(Test.java:27)
    Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: Member near line 1, column 6 [from Member]
    at org.hibernate.hql.ast.QuerySyntaxException.convert (QuerySyntaxException.java:54)
    at org.hibernate.hql.ast.QuerySyntaxException.convert (QuerySyntaxException.java:47)
    at org.hibernate.hql.ast.ErrorCounter.throwQueryExcep tion(ErrorCounter.java:82)
    at org.hibernate.hql.ast.QueryTranslatorImpl.parse(Qu eryTranslatorImpl.java:281)
    at org.hibernate.hql.ast.QueryTranslatorImpl.doCompil e(QueryTranslatorImpl.java:180)
    at org.hibernate.hql.ast.QueryTranslatorImpl.compile( QueryTranslatorImpl.java:134)
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQL QueryPlan.java:101)
    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQL QueryPlan.java:80)
    at org.hibernate.engine.query.QueryPlanCache.getHQLQu eryPlan(QueryPlanCache.java:94)
    at org.hibernate.impl.AbstractSessionImpl.getHQLQuery Plan(AbstractSessionImpl.java:156)
    at org.hibernate.impl.AbstractSessionImpl.createQuery (AbstractSessionImpl.java:135)
    at org.hibernate.impl.SessionImpl.createQuery(Session Impl.java:1650)
    at org.springframework.orm.hibernate3.HibernateTempla te$30.doInHibernate(HibernateTemplate.java:923)
    at org.springframework.orm.hibernate3.HibernateTempla te.doExecute(HibernateTemplate.java:419)
    ... 5 more




    non capisco qual e il problema.Ho mappato la classe Member ma sembra non riconoscere il comando hql "from Member".


    Vi posto pure il mapping


    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

    <hibernate-mapping>
    <class name="Member" table="MEMBER">
    <id name="id" type="java.lang.Integer">
    <column name="ID" />
    <generator class="assigned" />
    </id>
    <property name="username" type="java.lang.String">
    <column name="USERNAME" />
    </property>
    <property name="password" type="java.lang.String">
    <column name="PASSWORD" />
    </property>
    <property name="nome" type="java.lang.String">
    <column name="NOME" />
    </property>
    </class>
    </hibernate-mapping>



    potete aiutarmi a capire il problema ?? grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55
    vi passo pure il bean.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schem...-beans-2.0.xsd">

    <bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverM anagerDataSource">
    <property name="driverClassName"
    value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/login" />
    <property name="username" value="root" />
    <property name="password" value="root" />
    </bean>




    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotati on.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="annotatedClasses">
    <list>
    <value>Member</value>


    </list>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQ LDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
    </props>
    </property>
    </bean>

    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.Hibernat eTemplate">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean name="memberDao" class="MemberDaoHibernateSupport">
    <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>


    </beans>

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Usa il tag [CODE] per formattare il codice, come da Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.