markdown Relaciones冬眠。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Relaciones冬眠。相关的知识,希望对你有一定的参考价值。

# paso 1

Uana categoria contiene varios libros: Relaccion de 1 a n en la que categoria contiene un conjunto de lñibros

}un libro pertenece a una categoria: Relaccion de n a 1 en la que cada libro pertenece a una categoria en concreta

# paso2

Para que esta relación exista anivel de código Java, la clase Categoría debe incluir un List<> deLibros
y la clase Libro debe incluir una variable de tipo Categoría

```
@Entity
@Table(name = "Categorias")
public class Categoria {
@Id
private int id;
private String descripcion;
private List<Libro> listaDeLibros;
public List<Libro> getListaDeLibros() {
return listaDeLibros;
}
public void setListaDeLibros(List<Libro> listaDeLibros) {
this.listaDeLibros = listaDeLibros;
}
// resto de codigo
```
```
@Entity
@Table(name="Libros")
public class Libro {
@Id
private String isbn;
private String titulo;
private Categoria categoria;
public Categoria getCategoria() {
return categoria;
}
public void setCategoria(Categoria categoria) {
this.categoria = categoria;
}
//resto de codigo

```
# pASO 3
este solo es relacion a nivel de codigo y no genera a nivel de persistenca si no unicamente a nivel de memoria
tendremos que apoyarnos de anotaciones que provee hibernate

@OneToMany: Anotacion que se encarga de crear una relacionde 1 a n entre dos clases predeterminadas
(Categoria y Libro en nuestro ejemplo).
--]

@ManyToOne:Anotacion que se encarga de crear una relacion de muchos a uno entre dos clases predeterminadas
(Libro y Categoria en nuestro ejemplo).
--]

@JoinColumn:Anotacion que sirve a para discernir que columna de la tabla de la base de datos se usa como
clave externa o foranea a la hora de aplicar la relacion.

# Paso 4 ejemplo de uso de anotaciones

```
@Entity
@Table(name="Libros")
public class Libro {
@Id
private String isbn;
private String titulo;
@ManyToOne
@JoinColumn (name="categoria")
private Categoria categoria;
}
```
```
@Entity
@Table(name="Categorias")
public class Categoria {
@Id
private int id;
private String descripcion;
@OneToMany
@JoinColumn(name = "categoria")
private List<Libro> listaDeLibros;
```
# paso 5 como acceseder a la categoria atraves de su relacion
```
SessionFactory factoriaSession=HibernateHelper.getSessionFactory();
Session session = factoriaSession.openSession();
List<Libro> listaDeLibros = session.createQuery("from Libro libro”).list();
for(Libro l :listaDeLibros) {
System.out.println(l.getTitulo());
//accedemos a la categoria a traves de la relacion.
System.out.println(l.getCategoria().getDescripcion());
}
session.close();
```

以上是关于markdown Relaciones冬眠。的主要内容,如果未能解决你的问题,请参考以下文章

markdown notaciones冬眠

php relaciones lef right join on condiciones relacion php quid3

冬眠。不链接多对多关联

冬眠动物克服肌肉萎缩,靠的居然是“肠子”|Science

不运动也能增肌???打一针冬眠黑熊的血清就行

便利蜂是“冬眠”还是“假寐”,只有时间知道