Olá pessoal,
Bem, comprei o livro e to lendo. Mas tem duas coisas estranhas. O autor dá o seguinte código da classe a ser persistida:
package hello;
public class Message {
private Long id;
Message text
private String text;
private Message nextMessage;
Message() {}
public Message(String text) {
this.text = text;
}
public Long getId() {
return id;
}
private void setId(Long id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public Message getNextMessage() {
return nextMessage;
}
public void setNextMessage(Message nextMessage) {
this.nextMessage = nextMessage;
}
}
Beleza, mas agora olhem o código para inserção no BD, de acordo com o autor:
package hello;
import java.util.*;
import org.hibernate.*;
import persistence.*;
public class HelloWorld {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
Message message = new Message("Hello World!!!");
Long msgId = (Long) session.save(message);
tx.commit();
session.close();
Session newSession = HibernateUtil.getSessionFactory().openSession();
Transaction newTransaction = newSession.beginTransaction();
List messages = newSession.createQuery("from Message m order by m.text asc").list();
System.out.println( messages.size() +" message(s) found:" );
for ( Iterator iter = messages.iterator();
iter.hasNext(); ) {
Message loadedMsg = (Message) iter.next();
System.out.println( loadedMsg.getText() );
}
newTransaction.commit();
newSession.close();
HibernateUtil.shutdown();
}
}
Ok, mas se voces forem analisar o código…:
-
O eclipse não consegue achar o
import persistence.*; -
O eclipse não consegue achar a classe
HibernateUtil. -
Se vcs forem olhar, de acordo com o autor, o método da classe Message deveria ter um construtor que recebesse como parâmetro um String, mas o construtor dele é o defaultzão! E está desse jeito MESMO no livro. Tanto que ele passa uma string pro construtor, mas dá erro.
Mas o estranho é que o autor dá exatamente esse código.
O que está acontecendo? Eu estou errando em algo?