Pessoal,
fiz um pequeno exemplo, porem esta dando o seguinte erro :
Exception in thread “main” java.lang.IllegalArgumentException: Object: br.uniplan.servico.planouni.Pai[ id=null ] is not a known entity type.
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4169)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:440)
at br.uniplan.dao.planouni.Teste.blah(Teste.java:37)
*********************************Main
public void blah() {
EntityManager em = em();
em.getTransaction().begin();
/* Cadguia cadguia = new Cadguia();
Itensguia itensguia = new Itensguia();
itensguia.setCadguia(cadguia);
ItensguiaPK ipk = new ItensguiaPK();
ipk.setId(1);
itensguia.setItensguiaPK(ipk);
// cadguia.setTipoguia("Z");
em.persist(itensguia);*/
Pai pai = new Pai();
//pai.setId(10);
pai.setNome("fdsafdsafadsf");
em.persist(pai);
em.getTransaction().commit();
}
public static void main(String[] args) {
new Teste().blah();
}
public static EntityManager em() {
Object[] objects = new Object[]{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx};
StringBuilder userdbString = new StringBuilder();
userdbString.append("jdbc:postgresql://").append((String) objects[2]).append(":").append(String.valueOf(objects[3])).append("/").append((String) objects[4]);
Map param = new HashMap();
param.put("javax.persistence.jdbc.url", userdbString.toString());
param.put("javax.persistence.jdbc.user", (String) objects[5]);
param.put("javax.persistence.jdbc.password", (String) objects[6]);
param.put("javax.persistence.jdbc.driver", "org.postgresql.Driver");
return Persistence.createEntityManagerFactory("xxxxxxxxxxxxxxxxx", param).createEntityManager();
}
*******************************
@Entity
@Table(name = "pai")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Pai.findAll", query = "SELECT p FROM Pai p"),
@NamedQuery(name = "Pai.findById", query = "SELECT p FROM Pai p WHERE p.id = :id"),
@NamedQuery(name = "Pai.findByNome", query = "SELECT p FROM Pai p WHERE p.nome = :nome")})
public class Pai implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Size(max = 50)
@Column(name = "nome")
private String nome;
@OneToMany(mappedBy = "filhoId")
private Collection<Filho> filhoCollection;
**************************
@Entity
@Table(name = "filho")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Filho.findAll", query = "SELECT f FROM Filho f"),
@NamedQuery(name = "Filho.findById", query = "SELECT f FROM Filho f WHERE f.id = :id"),
@NamedQuery(name = "Filho.findByNome", query = "SELECT f FROM Filho f WHERE f.nome = :nome")})
public class Filho implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Size(max = 50)
@Column(name = "nome")
private String nome;
@JoinColumn(name = "filho_id", referencedColumnName = "id")
@ManyToOne
private Pai filhoId;