hola, soy nuevo en esa comunidad, ojala me puedan ayudar en algo que he estado estancado.
hice dos tablas msql, cliente con un primary key idcliente y una tabla vehiculo con una fk idcliente, las relacione de forma casada.
hice mi proyecto java server face, con hibernate, cree los pojos automaticamente (con hibernate) hice los daos y los managed beans, mas los formularios para insertar datos. probe insertando los datos a la tabla cliente, y me funciono perfecto. ahora en insertar en el formulario de vehiculo me sale error, no me esta guardando los datos insertados en la tabla y noc que hacer pero es algo relacionado con la fk yo creo.
public String getIdPatente() { return this.idPatente; }
public void setIdPatente(String idPatente) { this.idPatente = idPatente; } public Cliente getCliente() { return this.cliente; }
public void setCliente(Cliente cliente) { this.cliente = cliente; } public String getMarca() { return this.marca; }
public void setMarca(String marca) { this.marca = marca; } public String getModelo() { return this.modelo; }
public void setModelo(String modelo) { this.modelo = modelo; } public Date getAnioFabricacion() { return this.anioFabricacion; }
public void setAnioFabricacion(Date anioFabricacion) { this.anioFabricacion = anioFabricacion; } public String getColor() { return this.color; }
public void setColor(String color) { this.color = color; } public int getIdTipo() { return this.idTipo; }
public void setIdTipo(int idTipo) { this.idTipo = idTipo; }
} el pojo vehiculo
ese es el xml, obviamente dejo solo el del fk <many-to-one name="cliente" class="cl.model.pojos.Cliente" fetch="select"> <column name="id_cliente" not-null="true"/> </many-to-one>
y este el metodo del DAO vehiculo
public void insertar(Vehiculos objv){ //se crea los objetos SessionFactory sf = HibernateUtil.getSessionFactory(); Session sesion = sf.openSession(); Transaction tx = sesion.beginTransaction(); Query query = sesion.createQuery("from Vehiculos"); //Utilizar los objetos sesion.saveOrUpdate(objv);
tx.commit(); sesion.close();
}
porfavor alguien que me ayude, ya no se que hacer ):
hola, soy nuevo en esa comunidad, ojala me puedan ayudar en algo que he estado estancado.
hice dos tablas msql, cliente con un primary key idcliente y una tabla vehiculo con una fk idcliente, las relacione de forma casada.
hice mi proyecto java server face, con hibernate, cree los pojos automaticamente (con hibernate) hice los daos y los managed beans, mas los formularios para insertar datos.
probe insertando los datos a la tabla cliente, y me funciono perfecto. ahora en insertar en el formulario de vehiculo me sale error, no me esta guardando los datos insertados en la tabla y noc que hacer pero es algo relacionado con la fk yo creo.
<h:form>
<p:panel header="Nuevo Cliente" style="width: 600px">
<p:messages closable="true"/>
<p:panelGrid columns="2">
<h:outputText value="Id Patente: " /><p:inputText id="id_patente" value="#{vehiculoBean.objv.idPatente}" required="true"/>
<h:outputText value="Marca: " /><p:inputText id="marca" value="#{vehiculoBean.objv.marca}" required="true"/>
<h:outputText value="Modelo: " /><p:inputText id="modelo" value="#{vehiculoBean.objv.modelo}" required="true"/>
<h:outputText value="Año de Fabricación: " /><p:inputText id="fabricacion" value="#{vehiculoBean.objv.anioFabricacion}" required="true"><f:convertDateTime pattern="yyyy-MM-dd"/></p:inputText>
<h:outputText value="Color: " /><p:inputText id="color" value="#{vehiculoBean.objv.color}" required="true"/>
<h:outputText value="Tipo: " /><p:inputText id="tipo" value="#{vehiculoBean.objv.idTipo}" required="true"/>
<h:outputText value="Id Cliente: " /><h:selectOneMenu value="#{vehiculoBean.objv.cliente}">
<f:selectItems value="#{clienteBeans.cliente}" var="user" itemValue="#{user.idCliente}" itemLabel="#{user.idCliente}" />
</h:selectOneMenu>
</p:panelGrid>
<p:commandButton actionListener="#{vehiculoBean.guardarVehiculo()}" value="guardar">
<!-- <f:ajax render="fn ln eml msg" execute="@form"/> -->
</p:commandButton>
</p:panel>
</h:form>
ese es el formulario
package jsf.beans;
import cl.model.dao.DaoVehiculos;
import cl.model.pojos.Vehiculos;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
/**
*
* @author andres87
*/
@ManagedBean
@RequestScoped
public class VehiculoBean {
/**
* Creates a new instance of VehiculoBean
*/
//se crea la instancia de Vehiculo de pojos ( Plain Old Java Object )
private Vehiculos objv;
// el objeto vehiculo de dao al constructor del pojo Vehiculo
public VehiculoBean() {
objv = new Vehiculos();
}
// se crea los getter y los setter del objeto oVehiculo
public Vehiculos getObjv() {
return objv;
}
public void setObjv(Vehiculos objv) {
this.objv = objv;
}
// se crea la lista de vehiculos
public List<Vehiculos> getVehiculos(){
return new DaoVehiculos().leer();
}
public String guardarVehiculo(){
new DaoVehiculos().insertar(objv);
return "guardar";
}
}
el bean vehiculo
package cl.model.pojos;
// Generated 01-07-2014 12:23:20 PM by Hibernate Tools 3.6.0
import java.util.Date;
/**
* Vehiculos generated by hbm2java
*/
public class Vehiculos implements java.io.Serializable {
private String idPatente;
private Cliente cliente;
private String marca;
private String modelo;
private Date anioFabricacion;
private String color;
private int idTipo;
public Vehiculos() {
}
public Vehiculos(String idPatente, Cliente cliente, String marca, String modelo, Date anioFabricacion, String color, int idTipo) {
this.idPatente = idPatente;
this.cliente = cliente;
this.marca = marca;
this.modelo = modelo;
this.anioFabricacion = anioFabricacion;
this.color = color;
this.idTipo = idTipo;
}
public String getIdPatente() {
return this.idPatente;
}
public void setIdPatente(String idPatente) {
this.idPatente = idPatente;
}
public Cliente getCliente() {
return this.cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public String getMarca() {
return this.marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public String getModelo() {
return this.modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public Date getAnioFabricacion() {
return this.anioFabricacion;
}
public void setAnioFabricacion(Date anioFabricacion) {
this.anioFabricacion = anioFabricacion;
}
public String getColor() {
return this.color;
}
public void setColor(String color) {
this.color = color;
}
public int getIdTipo() {
return this.idTipo;
}
public void setIdTipo(int idTipo) {
this.idTipo = idTipo;
}
}
el pojo vehiculo
ese es el xml, obviamente dejo solo el del fk
<many-to-one name="cliente" class="cl.model.pojos.Cliente" fetch="select">
<column name="id_cliente" not-null="true"/>
</many-to-one>
y este el metodo del DAO vehiculo
public void insertar(Vehiculos objv){
//se crea los objetos
SessionFactory sf = HibernateUtil.getSessionFactory();
Session sesion = sf.openSession();
Transaction tx = sesion.beginTransaction();
Query query = sesion.createQuery("from Vehiculos");
//Utilizar los objetos
sesion.saveOrUpdate(objv);
tx.commit();
sesion.close();
}
porfavor alguien que me ayude, ya no se que hacer ):