Pessoal olhem minhas Entidades
package br.com.bean;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Estado {
@Id @GeneratedValue
private Long id;
private String nome;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
package br.com.bean;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Usuario {
@Id @GeneratedValue
private Long id;
private String email;
@Temporal(TemporalType.DATE)
private Date dataDeCadastro;
@Lob
private byte[] fotoPerfil;
@OneToOne
@JoinColumn(name="estado_id")
private Estado estado;
public Estado getEstado() {
return estado;
}
public void setEstado(Estado estado) {
this.estado = estado;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getDataDeCadastro() {
return dataDeCadastro;
}
public void setDataDeCadastro(Date dataDeCadastro) {
this.dataDeCadastro = dataDeCadastro;
}
public byte[] getFotoPerfil() {
return fotoPerfil;
}
public void setFotoPerfil(byte[] fotoPerfil) {
this.fotoPerfil = fotoPerfil;
}
}
Main
package br.com.testes;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import br.com.bean.Estado;
import br.com.bean.Usuario;
public class Testes {
/**
* @param args
* @throws ParseException
* @throws IOException
*/
public static void main(String[] args) throws ParseException, IOException {
EntityManagerFactory fac = Persistence.createEntityManagerFactory("MeuBanco");
EntityManager manager = fac.createEntityManager();
manager.getTransaction().begin();
Usuario user = new Usuario();
user.setDataDeCadastro(new SimpleDateFormat("dd/MM/yyyy").parse("12/09/1969"));
user.setEmail("[email removido]");
//FileInputStream stream = new FileInputStream(new File("src/META-INF/Untitled-1.png").getAbsolutePath());
File f = new File("src/META-INF/Untitled-1.png");
FileInputStream fs = new FileInputStream(f.getAbsolutePath());
byte[] byt = new byte[(int)f.length()];
for(int i = 0;i < f.length();i++){
byt[i] = (byte) fs.read();
}
user.setFotoPerfil(byt);
Estado est = new Estado();
est.setNome("Maranhão");
user.setEstado(est);
manager.persist(est);
manager.persist(user);
manager.getTransaction().commit();
manager.close();
fac.close();
}
}
Funcionou certinho sooooooooooo que.. o relacionamento esta errado...
quando um relacionamento UM para UM é feito.. fica da seguinte forma
[img]http://img841.imageshack.us/img841/6269/meubanco2.png[/img]
so que quando eu faco a engenharia reversa do que foi feito nesse codigo ai em cima... olha como vem :(
[img]http://img51.imageshack.us/img51/7461/meubancox.png[/img]
Alguem tem ideia? To comecando a achar que e bug do MySQL Workbench