Buenas Tardes, Disculpa la Tardanza.
Mira, voy a ser un poco mas especifico.
Tengo 2 Computadoras, una MAC y una PC, las 2 tienen Mysql, la MAC tiene la version 5.6.14 y la PC la version 5.5.36, en las 2 maquinas cargo el siguiente Script
Código:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
DROP SCHEMA IF EXISTS `pruebaagencia` ;
CREATE SCHEMA IF NOT EXISTS `pruebaagencia` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `pruebaagencia` ;
-- -----------------------------------------------------
-- Table `pruebaagencia`.`Agencia`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `pruebaagencia`.`Agencia` (
`idAgencia` INT NOT NULL AUTO_INCREMENT,
`Nombre` VARCHAR(45) NULL,
`Direccion` VARCHAR(45) NULL,
PRIMARY KEY (`idAgencia`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `pruebaagencia`.`Automovil`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `pruebaagencia`.`Automovil` (
`idAutomovil` INT NOT NULL AUTO_INCREMENT,
`noSerie` VARCHAR(45) NULL,
`color` VARCHAR(45) NULL,
`marca` VARCHAR(45) NULL,
`idAgencia` INT NOT NULL,
PRIMARY KEY (`idAutomovil`),
INDEX `fk_Automovil_Agencia_idx` (`idAgencia` ASC),
CONSTRAINT `fk_Automovil_Agencia`
FOREIGN KEY (`idAgencia`)
REFERENCES `pruebaagencia`.`Agencia` (`idAgencia`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Ahora, desde mi MAC usando Netbeans 7.3 hago el mapeo a dicha base de datos, obteniendo los siguentes archivos:
Archivo de configuracion (hibernate.cfg.xml):
Código:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/pruebaagencia?zeroDateTimeBehavior=convertToNull</property>
<property name="hibernate.connection.username">pruebas</property>
<property name="hibernate.connection.password">pass</property>
<mapping resource="com/prueba/Agencia.hbm.xml"/>
<mapping resource="com/prueba/Automovil.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Archivo de ingenieria inversa(hibernate.reveng.xml):
Código:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd">
<hibernate-reverse-engineering>
<schema-selection match-catalog="pruebaagencia"/>
<table-filter match-name="Agencia"/>
<table-filter match-name="Automovil"/>
</hibernate-reverse-engineering>
POJOs
Agencia.java
Código:
package com.prueba;
// Generated 10-dic-2014 13:26:01 by Hibernate Tools 3.2.1.GA
/**
* Agencia generated by hbm2java
*/
public class Agencia implements java.io.Serializable {
private Integer idAgencia;
private String nombre;
private String direccion;
public Agencia() {
}
public Agencia(String nombre, String direccion) {
this.nombre = nombre;
this.direccion = direccion;
}
public Integer getIdAgencia() {
return this.idAgencia;
}
public void setIdAgencia(Integer idAgencia) {
this.idAgencia = idAgencia;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDireccion() {
return this.direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
}
Agencia.hbm.xml
Código:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 10-dic-2014 13:26:02 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="com.prueba.Agencia" table="Agencia" catalog="pruebaagencia">
<id name="idAgencia" type="java.lang.Integer">
<column name="idAgencia" />
<generator class="identity" />
</id>
<property name="nombre" type="string">
<column name="Nombre" length="45" />
</property>
<property name="direccion" type="string">
<column name="Direccion" length="45" />
</property>
</class>
</hibernate-mapping>
Automovil.java
Código:
package com.prueba;
// Generated 10-dic-2014 13:26:01 by Hibernate Tools 3.2.1.GA
/**
* Automovil generated by hbm2java
*/
public class Automovil implements java.io.Serializable {
private Integer idAutomovil;
private String noSerie;
private String color;
private String marca;
private int idAgencia;
public Automovil() {
}
public Automovil(int idAgencia) {
this.idAgencia = idAgencia;
}
public Automovil(String noSerie, String color, String marca, int idAgencia) {
this.noSerie = noSerie;
this.color = color;
this.marca = marca;
this.idAgencia = idAgencia;
}
public Integer getIdAutomovil() {
return this.idAutomovil;
}
public void setIdAutomovil(Integer idAutomovil) {
this.idAutomovil = idAutomovil;
}
public String getNoSerie() {
return this.noSerie;
}
public void setNoSerie(String noSerie) {
this.noSerie = noSerie;
}
public String getColor() {
return this.color;
}
public void setColor(String color) {
this.color = color;
}
public String getMarca() {
return this.marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public int getIdAgencia() {
return this.idAgencia;
}
public void setIdAgencia(int idAgencia) {
this.idAgencia = idAgencia;
}
}
Automovil.hbm.xml
Código:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 10-dic-2014 13:26:02 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="com.prueba.Automovil" table="Automovil" catalog="pruebaagencia">
<id name="idAutomovil" type="java.lang.Integer">
<column name="idAutomovil" />
<generator class="identity" />
</id>
<property name="noSerie" type="string">
<column name="noSerie" length="45" />
</property>
<property name="color" type="string">
<column name="color" length="45" />
</property>
<property name="marca" type="string">
<column name="marca" length="45" />
</property>
<property name="idAgencia" type="int">
<column name="idAgencia" not-null="true" />
</property>
</class>
</hibernate-mapping>
Todos esos son los archivos utilizados para Hacer el mapeo entre la MAC y la base de datos en su propio mysql.
De esta manera, como puedes ver, solo tengo los siguientes atributos en Agencia.java
Código:
private Integer idAgencia;
private String nombre;
private String direccion;
y los siguientes en Automovil.java
Código:
private Integer idAutomovil;
private String noSerie;
private String color;
private String marca;
private int idAgencia;
Pero esto no es lo que necesito, Ahora, en la misma MAC con el mismo netbeans hice el mapeo a la misma base de datos, pero ahora cargada en el mysql de la PC, y estos son los resultados (Siguiente POST):