Hibernate Annotation -> OneToMany / ManyToOne [ Resolvido ]

0 respostas
messias

[ UPDATE ]

RESOLVIDO

Data: 03-02-2009
Hora: 17:28

SOLUÇÃO:
Adicionei -> Mapeamento na classe hibernate
Troquei as Annotation para ACIMA da variavel... ao invés de ser ACIMA do GET

Fica ai a solução para quem precisar

[ /UPDATE ]

Turma, já vi essa pergunta aki:

http://www.guj.com.br/posts/list/111409.java

Mas não entendi a resposta. E tenho um problema parecido com o dele.

Segue aqui o meu erro...(bem parecido com o dele)

Pelo que entendi... é erro no mapeamento... da "Lista" Network... porém... não entendi(pelo ultimo post ai) como resolver...

Se alguém puder me dar uma luz.

Valeu!

exception

javax.servlet.ServletException: Servlet execution threw an exception
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
root cause

java.lang.ExceptionInInitializerError
	jdbc.Hibernate.<clinit>(Hibernate.java:38)
	factory.DaoFactory.getDaoFactory(DaoFactory.java:33)
	bean.HardwareBean.<init>(HardwareBean.java:30)
	servlet.BuscarPcServlet.processRequest(BuscarPcServlet.java:37)
	servlet.BuscarPcServlet.doGet(BuscarPcServlet.java:86)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
root cause

org.hibernate.MappingException: Could not determine type for: java.util.List, at table: hardware, for columns: [org.hibernate.mapping.Column(listNetwork)]
	org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
	org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276)
	org.hibernate.mapping.Property.isValid(Property.java:207)
	org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458)
	org.hibernate.mapping.RootClass.validate(RootClass.java:215)
	org.hibernate.cfg.Configuration.validate(Configuration.java:1135)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1320)
	org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
	jdbc.Hibernate.<clinit>(Hibernate.java:33)
	factory.DaoFactory.getDaoFactory(DaoFactory.java:33)
	bean.HardwareBean.<init>(HardwareBean.java:30)
	servlet.BuscarPcServlet.processRequest(BuscarPcServlet.java:37)
	servlet.BuscarPcServlet.doGet(BuscarPcServlet.java:86)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
E agora minhas duas Classes... de relacionamento...
package dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import java.util.List;

import dto.Networks;
import dto.NetworksPK;


@Entity
@Table(name = "hardware")

public class Hardware implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "ID", nullable = false)
    private Integer id;
    @Column(name = "DEVICEID", nullable = false)
    private String deviceid;
    @Column(name = "NAME")
    private String name;
    @Column(name = "WORKGROUP")
    private String workgroup;
    @Column(name = "USERDOMAIN")
    private String userdomain;
    @Column(name = "OSNAME")
    private String osname;
    @Column(name = "OSVERSION")
    private String osversion;
    @Column(name = "OSCOMMENTS")
    private String oscomments;
    @Column(name = "PROCESSORT")
    private String processort;
    @Column(name = "PROCESSORS")
    private Integer processors;
    @Column(name = "PROCESSORN")
    private Short processorn;
    @Column(name = "MEMORY")
    private Integer memory;
    @Column(name = "SWAP")
    private Integer swap;
    @Column(name = "IPADDR")
    private String ipaddr;
    @Column(name = "ETIME")
    private String etime;
    @Column(name = "LASTDATE")
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastdate;
    @Column(name = "LASTCOME")
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastcome;
    @Column(name = "QUALITY")
    private BigDecimal quality;
    @Column(name = "FIDELITY")
    private BigInteger fidelity;
    @Column(name = "USERID")
    private String userid;
    @Column(name = "TYPE")
    private Integer type;
    @Column(name = "DESCRIPTION")
    private String description;
    @Column(name = "WINCOMPANY")
    private String wincompany;
    @Column(name = "WINOWNER")
    private String winowner;
    @Column(name = "WINPRODID")
    private String winprodid;
    @Column(name = "WINPRODKEY")
    private String winprodkey;
    @Column(name = "USERAGENT")
    private String useragent;
    @Column(name = "CHECKSUM")
    private Integer checksum;

    
    private java.util.List<Networks> listNetwork;
    
    @OneToMany
    @JoinColumn(name = "HARDWARE_ID")
    public List<Networks> getListNetwork() {
        return listNetwork;
    }
    
    public void setListNetwork(List<Networks> listNetwork) {
        this.listNetwork = listNetwork;
    }
    
    public Hardware() {
    }

    public Hardware(Integer id) {
        this.id = id;
    }

    public Hardware(Integer id, String deviceid) {
        this.id = id;
        this.deviceid = deviceid;
    }

    public Integer getId() {
        return id;
    }

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

    public String getDeviceid() {
        return deviceid;
    }

    public void setDeviceid(String deviceid) {
        this.deviceid = deviceid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getWorkgroup() {
        return workgroup;
    }

    public void setWorkgroup(String workgroup) {
        this.workgroup = workgroup;
    }

    public String getUserdomain() {
        return userdomain;
    }

    public void setUserdomain(String userdomain) {
        this.userdomain = userdomain;
    }

    public String getOsname() {
        return osname;
    }

    public void setOsname(String osname) {
        this.osname = osname;
    }

    public String getOsversion() {
        return osversion;
    }

    public void setOsversion(String osversion) {
        this.osversion = osversion;
    }

    public String getOscomments() {
        return oscomments;
    }

    public void setOscomments(String oscomments) {
        this.oscomments = oscomments;
    }

    public String getProcessort() {
        return processort;
    }

    public void setProcessort(String processort) {
        this.processort = processort;
    }

    public Integer getProcessors() {
        return processors;
    }

    public void setProcessors(Integer processors) {
        this.processors = processors;
    }

    public Short getProcessorn() {
        return processorn;
    }

    public void setProcessorn(Short processorn) {
        this.processorn = processorn;
    }

    public Integer getMemory() {
        return memory;
    }

    public void setMemory(Integer memory) {
        this.memory = memory;
    }

    public Integer getSwap() {
        return swap;
    }

    public void setSwap(Integer swap) {
        this.swap = swap;
    }

    public String getIpaddr() {
        return ipaddr;
    }

    public void setIpaddr(String ipaddr) {
        this.ipaddr = ipaddr;
    }

    public String getEtime() {
        return etime;
    }

    public void setEtime(String etime) {
        this.etime = etime;
    }

    public Date getLastdate() {
        return lastdate;
    }

    public void setLastdate(Date lastdate) {
        this.lastdate = lastdate;
    }

    public Date getLastcome() {
        return lastcome;
    }

    public void setLastcome(Date lastcome) {
        this.lastcome = lastcome;
    }

    public BigDecimal getQuality() {
        return quality;
    }

    public void setQuality(BigDecimal quality) {
        this.quality = quality;
    }

    public BigInteger getFidelity() {
        return fidelity;
    }

    public void setFidelity(BigInteger fidelity) {
        this.fidelity = fidelity;
    }

    public String getUserid() {
        return userid;
    }

    public void setUserid(String userid) {
        this.userid = userid;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getWincompany() {
        return wincompany;
    }

    public void setWincompany(String wincompany) {
        this.wincompany = wincompany;
    }

    public String getWinowner() {
        return winowner;
    }

    public void setWinowner(String winowner) {
        this.winowner = winowner;
    }

    public String getWinprodid() {
        return winprodid;
    }

    public void setWinprodid(String winprodid) {
        this.winprodid = winprodid;
    }

    public String getWinprodkey() {
        return winprodkey;
    }

    public void setWinprodkey(String winprodkey) {
        this.winprodkey = winprodkey;
    }

    public String getUseragent() {
        return useragent;
    }

    public void setUseragent(String useragent) {
        this.useragent = useragent;
    }

    public Integer getChecksum() {
        return checksum;
    }

    public void setChecksum(Integer checksum) {
        this.checksum = checksum;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Hardware)) {
            return false;
        }
        Hardware other = (Hardware) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "servlet.Hardware[id=" + id + "]";
    }

}
E a segunda:
package dto;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;

import dto.Hardware;

@Entity
@Table(name = "networks")

public class Networks implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "ID", nullable = false)
    private Integer id;
    
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name="id", insertable=true, updatable=true)
    private Hardware hardware;

    @Column(name = "DESCRIPTION")
    private String description;
    @Column(name = "TYPE")
    private String type;
    @Column(name = "TYPEMIB")
    private String typemib;
    @Column(name = "SPEED")
    private String speed;
    @Column(name = "MACADDR")
    private String macaddr;
    @Column(name = "STATUS")
    private String status;
    @Column(name = "IPADDRESS")
    private String ipaddress;
    @Column(name = "IPMASK")
    private String ipmask;
    @Column(name = "IPGATEWAY")
    private String ipgateway;
    @Column(name = "IPSUBNET")
    private String ipsubnet;
    @Column(name = "IPDHCP")
    private String ipdhcp;

    public Networks() {
    }

    public Networks(Integer id) {
        this.id = id;
    }

    
    
    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTypemib() {
        return typemib;
    }

    public void setTypemib(String typemib) {
        this.typemib = typemib;
    }

    public String getSpeed() {
        return speed;
    }

    public void setSpeed(String speed) {
        this.speed = speed;
    }

    public String getMacaddr() {
        return macaddr;
    }

    public void setMacaddr(String macaddr) {
        this.macaddr = macaddr;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getIpaddress() {
        return ipaddress;
    }

    public void setIpaddress(String ipaddress) {
        this.ipaddress = ipaddress;
    }

    public String getIpmask() {
        return ipmask;
    }

    public void setIpmask(String ipmask) {
        this.ipmask = ipmask;
    }

    public String getIpgateway() {
        return ipgateway;
    }

    public void setIpgateway(String ipgateway) {
        this.ipgateway = ipgateway;
    }

    public String getIpsubnet() {
        return ipsubnet;
    }

    public void setIpsubnet(String ipsubnet) {
        this.ipsubnet = ipsubnet;
    }

    public String getIpdhcp() {
        return ipdhcp;
    }

    public void setIpdhcp(String ipdhcp) {
        this.ipdhcp = ipdhcp;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Networks)) {
            return false;
        }
        Networks other = (Networks) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "servlet.Networks[id=" + id + "]";
    }

}
Criado 3 de fevereiro de 2009
Respostas 0
Participantes 1