Problema com hibernate

3 respostas
S

Pessoal to com o seguinte problema tenho uma classe gerada pelo netbeans, para utilização com hibernate, jsf etc. O problema é que não consigo adicionar novos atributos na classe por eles não existirem no banco, alguém pode me dizer como faço isso?

Segue abaixo a classe o atributo que estou querendo adicionar é o is_running.

Msg de erro: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘externalmo0_.is_running’ in ‘field list’


/**
*

  • @author artur
    
    */
    
    @Entity
    
    @Table(name = externalmonitor)
    
    @NamedQueries({
    
    @NamedQuery(name = Externalmonitor.findAll, query = SELECT e FROM Externalmonitor e),
    
    @NamedQuery(name = Externalmonitor.findById, query = SELECT e FROM Externalmonitor e WHERE <a href="http://e.id">e.id</a> = :id),
    
    @NamedQuery(name = Externalmonitor.findByIp, query = SELECT e FROM Externalmonitor e WHERE e.ip = :ip),
    
    @NamedQuery(name = Externalmonitor.findByPort, query = SELECT e FROM Externalmonitor e WHERE e.port = :port),
    
    @NamedQuery(name = Externalmonitor.findByStatus, query = SELECT e FROM Externalmonitor e WHERE e.status = :status),
    
    @NamedQuery(name = Externalmonitor.findByCreationDate, query = SELECT e FROM Externalmonitor e WHERE e.creationDate = :creationDate),
    
    @NamedQuery(name = Externalmonitor.findByLastCheck, query = SELECT e FROM Externalmonitor e WHERE e.lastCheck = :lastCheck),
    
    @NamedQuery(name = Externalmonitor.findByCheckTime, query = SELECT e FROM Externalmonitor e WHERE e.checkTime = :checkTime)})
    
    public class Externalmonitor implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    @Id
    
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    
    <a class="mention" href="/u/basic">@Basic</a>(optional = false)
    
    @Column(name = “id”)
    
    private Integer id;
    
    <a class="mention" href="/u/basic">@Basic</a>(optional = false)
    
    @Column(name = “ip”)
    
    private String ip;
    
    <a class="mention" href="/u/basic">@Basic</a>(optional = false)
    
    @Column(name = “port”)
    
    private Integer port;
    
    <a class="mention" href="/u/basic">@Basic</a>(optional = false)
    
    @Column(name = “status”)
    
    private boolean status;
    
    <a class="mention" href="/u/basic">@Basic</a>(optional = false)
    
    @Column(name = “creation_date”)
    
    @Temporal(TemporalType.TIMESTAMP)
    
    private Date creationDate;
    
    @Column(name = “last_check”)
    
    @Temporal(TemporalType.TIMESTAMP)
    
    private Date lastCheck;
    
    @Column(name = “check_time”)
    
    private Integer checkTime;
    
    @JoinColumn(name = “account_id”, referencedColumnName = “id”)
    
    @ManyToOne(optional = false)
    
    private Account accountId;
    
    @OneToMany(mappedBy = “externalmonitorId”)
    
    private Set<Anomaly> anomalySet;
    

    [color=red]private boolean is_running;[/color]

3 Respostas

renanreismartins

boa noite amigo

1o poste seu codigo dentro de tags code
veja:
http://www.guj.com.br/posts/list/50115.java

com relaçao ao seu problema anote seus atributos que nao sao persistentes com a anotacao @Transient

um conselho eh vc seguir code convention e nomear o atributo como isRunning

abrassss

S

vlw pela dica. é deselegante fazer isto? o aconselhável é tratar tudo na classe de controle msm?

renanreismartins

nao é deselegante, se vc tem atributos que nao serao persistidos eles devem ser anotatos assim…

agora deselegante seria adicionar o atributo a entidade se ele nao faz parte da mesma…

abrasssss

Criado 3 de março de 2010
Ultima resposta 4 de mar. de 2010
Respostas 3
Participantes 2