<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gerad</id>
		<title>Dos Ideas. - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://dosideas.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gerad"/>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/Especial:Contribuciones/Gerad"/>
		<updated>2026-04-21T10:00:00Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6583</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6583"/>
				<updated>2012-04-12T12:59:39Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Uno a Muchos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto que utiliza [[Hibernate Annotations con Spring | hibernate y spring]], que podemos descargar del repositorio de google [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk aqu&amp;amp;iacute;]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Nota:''' Dado que en los ejemplos solamente estamos analizando la capa de Dao's, los anotaremos como '''@Transactional''' para que cada m&amp;amp;eacute;todo finalice su transacci&amp;amp;oacute;n y faciliten los test.&lt;br /&gt;
&lt;br /&gt;
=== Uno a Muchos ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Una persona con muchos apodos&lt;br /&gt;
&lt;br /&gt;
'''Persona'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Persona&amp;quot;, schema = &amp;quot;UnoAMuchos&amp;quot;)&lt;br /&gt;
public class Persona {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;personaId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * descripcion&lt;br /&gt;
     */&lt;br /&gt;
    @Column(name = &amp;quot;personaNombre&amp;quot;)&lt;br /&gt;
    private String nombre;&lt;br /&gt;
   &lt;br /&gt;
    @OneToMany(cascade=CascadeType.ALL, mappedBy=&amp;quot;persona&amp;quot;)&lt;br /&gt;
    private Collection&amp;lt;Apodo&amp;gt; apodos;&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que la persona posee una colecci&amp;amp;oacute;n de apodos, y cada apodo esta relacionada a la persona mediante el atributo persona.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToMany(cascade=CascadeType.ALL, mappedBy=&amp;quot;persona&amp;quot;)&lt;br /&gt;
private Collection&amp;lt;Apodo&amp;gt; apodos;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Persona'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Apodo&amp;quot;, schema = &amp;quot;UnoAMuchos&amp;quot;)&lt;br /&gt;
public class Apodo {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;apodoId&amp;quot;)&lt;br /&gt;
    /**&lt;br /&gt;
     * Identificador del apodo.&lt;br /&gt;
     */&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * descripcion&lt;br /&gt;
     */&lt;br /&gt;
    @Column(name = &amp;quot;apodoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @ManyToOne&lt;br /&gt;
    @JoinColumn(name = &amp;quot;personaId&amp;quot;)&lt;br /&gt;
    private Persona persona;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el apodo pertenece al la entidad persona, y es uno de muchos apodos que puede tener la persona.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToMany(cascade=CascadeType.ALL, mappedBy=&amp;quot;persona&amp;quot;)&lt;br /&gt;
private Collection&amp;lt;Apodo&amp;gt; apodos;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6582</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6582"/>
				<updated>2012-04-12T12:50:00Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Uno a Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto que utiliza [[Hibernate Annotations con Spring | hibernate y spring]], que podemos descargar del repositorio de google [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk aqu&amp;amp;iacute;]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Nota:''' Dado que en los ejemplos solamente estamos analizando la capa de Dao's, los anotaremos como '''@Transactional''' para que cada m&amp;amp;eacute;todo finalice su transacci&amp;amp;oacute;n y faciliten los test.&lt;br /&gt;
&lt;br /&gt;
=== Uno a Muchos ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Una persona con muchos apodos&lt;br /&gt;
&lt;br /&gt;
'''Persona'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Persona&amp;quot;, schema = &amp;quot;UnoAMuchos&amp;quot;)&lt;br /&gt;
public class Persona {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;personaId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * descripcion&lt;br /&gt;
     */&lt;br /&gt;
    @Column(name = &amp;quot;personaNombre&amp;quot;)&lt;br /&gt;
    private String nombre;&lt;br /&gt;
   &lt;br /&gt;
    @OneToMany(cascade=CascadeType.ALL, mappedBy=&amp;quot;persona&amp;quot;)&lt;br /&gt;
    private Collection&amp;lt;Apodo&amp;gt; apodos;&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que la persona posee una colecci&amp;amp;oacute;n de apodos, y cada apodo esta relacionada a la persona mediante el atributo persona.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToMany(cascade=CascadeType.ALL, mappedBy=&amp;quot;persona&amp;quot;)&lt;br /&gt;
private Collection&amp;lt;Apodo&amp;gt; apodos;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6543</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6543"/>
				<updated>2012-03-16T19:53:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto que utiliza [[Hibernate Annotations con Spring | hibernate y spring]], que podemos descargar del repositorio de google [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk aqu&amp;amp;iacute;]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Nota:''' Dado que en los ejemplos solamente estamos analizando la capa de Dao's, los anotaremos como '''@Transactional''' para que cada m&amp;amp;eacute;todo finalice su transacci&amp;amp;oacute;n y faciliten los test.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6542</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6542"/>
				<updated>2012-03-15T17:19:40Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* DAO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]] que podemos descargar del repositorio de google [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk aqu&amp;amp;iacute;]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Nota:''' Dado que en los ejemplos solamente estamos analizando la capa de Dao's, los anotaremos como '''@Transactional''' para que cada m&amp;amp;eacute;todo finalice su transacci&amp;amp;oacute;n y faciliten los test.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6541</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6541"/>
				<updated>2012-03-15T17:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]] que podemos descargar del repositorio de google [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk aqu&amp;amp;iacute;]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6540</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6540"/>
				<updated>2012-03-15T17:14:42Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]] que podemos descargar del repositorio [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk de google]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6539</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6539"/>
				<updated>2012-03-15T17:13:35Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Fhibernate-sandbox%2Ftrunk Ejemplos de hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6538</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6538"/>
				<updated>2012-03-15T12:43:52Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Uno a Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DAO ====&lt;br /&gt;
'''CuerpoDao'''&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@Repository&lt;br /&gt;
@Transactional&lt;br /&gt;
public class CuerpoDaoImpl implements CuerpoDao {&lt;br /&gt;
&lt;br /&gt;
    @Autowired&lt;br /&gt;
    private SessionFactory sessionFactory;&lt;br /&gt;
    &lt;br /&gt;
    public Cuerpo buscarPorId(Long id) {&lt;br /&gt;
        return (Cuerpo) sessionFactory.getCurrentSession().get(Cuerpo.class, id);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void guardar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().save(cuerpo);            &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void eliminar(Cuerpo cuerpo) {&lt;br /&gt;
        sessionFactory.getCurrentSession().delete(cuerpo);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6537</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6537"/>
				<updated>2012-03-15T11:51:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Entidades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;aacute;s, en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando la FK.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6536</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6536"/>
				<updated>2012-03-15T11:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Entidades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el corazon esta relacionado uno a uno con el cuerpo y la existencia de este &amp;amp;uacute;ltimo es obligatoria ('''optional=false''').&lt;br /&gt;
Adem&amp;amp;acute;s en caso de que este relacionado por una FK, definimos que el Join, lo realice utilizando esta columna.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6534</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6534"/>
				<updated>2012-03-14T12:34:06Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Entidades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Con la siguiente anotaci&amp;amp;oacute;n decimos que el cuerpo posee una relaci&amp;amp;oacute;n con la entidad coraz&amp;amp;oacute;n; y en la entidad coraz&amp;amp;oacute;n la relación esta dado por el atributo cuerpo.&lt;br /&gt;
&amp;lt;code java&amp;gt;&lt;br /&gt;
@OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
private Corazon corazon;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6533</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6533"/>
				<updated>2012-03-14T12:13:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6532</id>
		<title>Practicas con Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Practicas_con_Hibernate&amp;diff=6532"/>
				<updated>2012-03-14T12:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: Página creada con 'En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto  con hibernate m&amp;amp;aacute;s spring  == Car…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este apartado mostraremos diferentes ejemplos de uso de hibernate, usando de prueba un proyecto [[Hibernate Annotations con Spring | con hibernate m&amp;amp;aacute;s spring]]&lt;br /&gt;
&lt;br /&gt;
== Cardinalidad entre entidades == &lt;br /&gt;
&lt;br /&gt;
=== Uno a Uno ===&lt;br /&gt;
==== Entidades ====&lt;br /&gt;
Ej.: Un cuerpo esta compuesto por un coraz&amp;amp;oacute;n&lt;br /&gt;
&lt;br /&gt;
'''Cuerpo'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Cuerpo&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Cuerpo {&lt;br /&gt;
&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;cuerpoDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
    &lt;br /&gt;
    @OneToOne(mappedBy = &amp;quot;cuerpo&amp;quot;, cascade = CascadeType.ALL)&lt;br /&gt;
    private Corazon corazon;&lt;br /&gt;
   &lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coraz&amp;amp;oacute;n'''&lt;br /&gt;
&amp;lt;code java5&amp;gt;&lt;br /&gt;
@Entity&lt;br /&gt;
@Table(name = &amp;quot;Corazon&amp;quot;, schema = &amp;quot;UnoAUno&amp;quot;)&lt;br /&gt;
public class Corazon {&lt;br /&gt;
    @Id&lt;br /&gt;
    @GeneratedValue(strategy = GenerationType.IDENTITY)&lt;br /&gt;
    @Column(name = &amp;quot;corazonId&amp;quot;)&lt;br /&gt;
    private Long id;&lt;br /&gt;
&lt;br /&gt;
    @OneToOne(optional=false)&lt;br /&gt;
    @JoinColumn(&lt;br /&gt;
            name=&amp;quot;cuerpoId&amp;quot;, unique=true, nullable=false, updatable=false)&lt;br /&gt;
    private Cuerpo cuerpo;&lt;br /&gt;
&lt;br /&gt;
    @Column(name = &amp;quot;corazonDescripcion&amp;quot;)&lt;br /&gt;
    private String descripcion;&lt;br /&gt;
&lt;br /&gt;
    //Getter and Setter&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	<entry>
		<id>https://dosideas.com/wiki/index.php?title=Hibernate&amp;diff=6531</id>
		<title>Hibernate</title>
		<link rel="alternate" type="text/html" href="https://dosideas.com/wiki/index.php?title=Hibernate&amp;diff=6531"/>
				<updated>2012-03-14T11:41:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gerad: /* Ver también */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Hibernate]]&lt;br /&gt;
Hibernate es un framework de persistencia de objetos para Java. Su función principal es la de [[Mapeo Objeto-Relacional]], es decir, mapear objetos a tablas de una base de datos relacional.&lt;br /&gt;
&lt;br /&gt;
Actualmente Hibernate cuanta con varios subproyectos que resuelven distintos aspectos del acceso y manipulación de datos.&lt;br /&gt;
&lt;br /&gt;
== Log de querys ==&lt;br /&gt;
Es posible decirle a Hibernate que realice un log de los comandos SQL que ejecuta. Esto resulta muy útil en tiempo de desarrollo. &lt;br /&gt;
&lt;br /&gt;
Para esto es necesario definir la propiedad ''show_sql'' en la configuración de Hibernate (generalmente, el archivo ''hibernate.cfg.xml''): &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
    &amp;lt;property name=&amp;quot;show_sql&amp;quot;&amp;gt;true&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Al ejecutar veremos algo como lo siguiente: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
select emails0_.PERSON_ID as PERSON1_0_, emails0_.EMAIL_ADDR as EMAIL2_0_ &lt;br /&gt;
from PERSONA emails0_ &lt;br /&gt;
where emails0_.PERSON_ID=?&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si además queremos que el log aparezca mejor formateado, agregamos la variable ''format_sql'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
    &amp;lt;property name=&amp;quot;format_sql&amp;quot;&amp;gt;true&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y veremos: &lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
select&lt;br /&gt;
    emails0_.PERSON_ID as PERSON1_0_,&lt;br /&gt;
    emails0_.EMAIL_ADDR as EMAIL2_0_&lt;br /&gt;
from&lt;br /&gt;
    PERSONA emails0_&lt;br /&gt;
where&lt;br /&gt;
    emails0_.PERSON_ID=?&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si ademas desean saber los valores de las bind variables, y variables de resultado que se utilizan en el query, deben configurar lo siguiente en el archivo ''log4j.properties'': &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    log4j.logger.org.hibernate.type=debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y veremos: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
12:30:56,551 DEBUG LongType:133 - binding '1' to parameter: 1&lt;br /&gt;
12:30:56,551 DEBUG LongType:172 - returning '1' as column: PERSON1_0_&lt;br /&gt;
12:30:56,567 DEBUG StringType:172 - returning 'demo@dosideas.com' as column: EMAIL2_0_&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Otra opción bastante interesante es ver el manejo de recursos por parte de Jdbc. Se debe agregar la propiedad: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    log4j.logger.org.hibernate.jdbc=debug&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Y veremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   12:30:56,551 - opening JDBC connection&lt;br /&gt;
12:30:56,553 - preparing statement&lt;br /&gt;
12:30:56,554 - about to open ResultSet (open ResultSets: 0, globally: 0)&lt;br /&gt;
12:30:57,551 - about to close ResultSet (open ResultSets: 1, globally: 1)&lt;br /&gt;
12:30:58,551 - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)&lt;br /&gt;
12:30:58,552 - closing statement&lt;br /&gt;
12:30:56,553 - aggressively releasing JDBC connection&lt;br /&gt;
12:30:56,554 - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) &lt;br /&gt;
(open ResultSets: 0, globally: 0)]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
* [[Cache De Hibernate]]&lt;br /&gt;
* [[Hibernate Con Spring]]&lt;br /&gt;
* [[Hibernate Annotations con Spring]]&lt;br /&gt;
* [[Actualizacion Dinamica Con Hibernate]]&lt;br /&gt;
* [[Eficiencia Ejecutando Querys Con Hibernate]]&lt;br /&gt;
* [[Stored Procedures con Hibernate]]&lt;br /&gt;
* [[Practicas con Hibernate]]&lt;br /&gt;
* [http://www.hibernate.org/ Web oficial de Hibernate]&lt;br /&gt;
* [http://www.hibernate.org/hib_docs/v3/reference/en/html/tutorial.html#tutorial-firstapp Tutorial de Hibernate]&lt;br /&gt;
* [http://www.javaworld.com/javaworld/jw-07-2008/jw-07-orm-comparison.html Comparación entre Hibernate, iBatis y JPA]&lt;br /&gt;
* [http://www.dosideas.com/java/180-testeando-rapido-todos-los-mapeos-de-hibernate.html Testear todos los mapeos de Hibernate]&lt;/div&gt;</summary>
		<author><name>Gerad</name></author>	</entry>

	</feed>