Ejercicio:
El objetivo del ejercicio es realizar más clases persistentes y que se reflejen en la base de datos sin problemas.
- Primero creamos una clase "Cliente"
- Debe tener precediendo el nombre de la clase las anotaciones @Entity y @Table(name="clientes") (Puse el nombre de la tabla en plural porque ya existía una del mismo nombre y así en el resto de clases de este ejercicio)
- La clase debe implementar la clase "Serializable"
- Crear un atributo de tipo "Long" que es el "id", un atributo "String nombre" y un conjunto de pedidos "Set
pedidos" - Crear sus getter y setter y precediendo a los getter añadir unas anotaciones:
- Método getId: @Id y @GeneratedValue
- Método getPedidos: @OneToMany(mappedBy="cliente"), la tabla clientes estará relacionada con la tabla pedidos como 1-n
- El resto de métodos: @Column
- Debe tener precediendo el nombre de la clase las anotaciones @Entity y @Table(name="clientes") (Puse el nombre de la tabla en plural porque ya existía una del mismo nombre y así en el resto de clases de este ejercicio)
- Después creamos la clase "Pedido"
- Igualmente que en la clase "Cliente" y el nombre de la tabla será "pedidos"
- Los atributos son "Long id", "Date fecha", "Cliente cliente" y "Set
lineas" - Las anotacciones encima de los getter:
- Método getId: @Id y @GeneratedValue
- Método getCliente: @ManyToOne, y así terminamos la relación con la tabla cliente.
- Método getLineas: @OneToMany(mappedBy="pedido"), la tabla pedido se relaciona con la tabla lineapedido como 1-n
- El resto de métodos: @Column
- Método getId: @Id y @GeneratedValue
- Igualmente que en la clase "Cliente" y el nombre de la tabla será "pedidos"
- Por último creamos la clase "LineaPedido"
- Lo mismo que en las anteriores y el nombre de la tabla es "lineapedidos"
- Los atributos son "Long id", "Integer cantidad", "Pedido pedido",y "Disco disco"
- Las anotaciones encima de los getter:
- Método getId: @Id y @GeneratedValue
- Método getPedido y método getDisco: @ManyToOne, ya que la tabla lineapedido termina la relación con pedido y también con la tabla disco (que ya esta creada de ejercicios de días anteriores y que se debe crear en la clase "Disco" su atributo lineas que es un conjunto de LineasPedido y sus métodos y su @OneToMany)
Ejercicio 2:
Lo de ahora consiste en mostrar una lista de discos, con un enlace cada uno y que cada enlace rediriga a una página para editar el nombre del disco.
Editar fecha usando rich:calendar (La fecha situada en el disco) y la fecha nueva que no sea posterior a la fecha de hoy.
Menu desplegable, grupo de musica, discos.
Modelo de rich calendar
Para añadir un calendario teniendo de base la fecha del objeto:
rich:calendar value="#{editaDisco.disco.fecha}" popup="false" datePattern="YY-MM-dd HH:mm" cellwidth="24px" cellHeight="22px" style="width:200px"/
Para añadir un desplegable:
h:selectOneMenu value="#{editaDisco.disco.cantante}"
s:selectItems value="#{listaCantantes.lista}" var="cantante" label="#{cantante.nombre}" noselectionlabel="Selecciona Cantante..."/
s:convertEntity/
/h:selectOneMenu
No hay comentarios:
Publicar un comentario