elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda con base de datos relacionales
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con base de datos relacionales  (Leído 1,455 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
ayuda con base de datos relacionales
« en: 25 Octubre 2019, 04:20 am »

Tengo dos tablas que son asi miren


                              AMIGOS
---------------------------------------------------------------
id:Integer | usuario_amigo:String      | tipo_amigo_id: Integer
---------------------------------------------------------------
1              |         panchito                |      1
--------------------------------------------------------------
2              |         juancito                 |      2
--------------------------------------------------------------


       TIPO_DE_AMIGO
----------------------------
id: Integer |  detalle
----------------------------
 1              | amigo
----------------------------
2               | super amigo
-----------------------------

La relacion es de muchos a uno, muchos AMIGOS pueden ser de un tipoDeAmigo y un TIPO_DE_AMIGO tiene muchos AMIGOS.

Consideracion: La tabla amigos permite la creacion de mas registros pero la tabla TIPO_DE_AMIGO no tiene permitido agregar mas amigos.

Lo que yo quiero hacer es eso justamente agregar mas amigos a la tabla AMIGOS, respetando esa relacion de uno a muchos.

Esto es lo que tengo de codigo hasta ahora.


CLASE AMIGO
Código
  1. @Table(name="AMIGOS")
  2. public class Amigo {
  3.  
  4. @Id
  5. @GeneratedValue(strategy = GenerationType.IDENTITY)
  6. @Column
  7. private Integer id;
  8.  
  9. @Column(name=nombre_amigo)
  10. private String nombreAmigo;
  11.  
  12. @ManyToOne(optional=false, fetch=FetchType.LAZY)
  13. @JoinColumn(name="tipo_amigo", nullable=false)
  14. private TipoAmigo tipoAmigo;
  15.  
  16. public Amigo() {
  17.  
  18. }
  19.  
  20. public Usuario(String nombreAmigo, TipoAmigo tipoAmigo) {
  21. super();
  22. this.nombreAmigo = nombreAmigo; //bla bla bla...
  23. }
  24.  

CLASE TIPOAMIGO

Código
  1. @Table(name="TIPO_DE_AMIGO")
  2. public class TipoAmigo {
  3.  
  4. @Id
  5. @GeneratedValue(strategy=GenerationType.IDENTITY)
  6. @Column
  7. private Integer id;
  8.  
  9. @Column
  10. private String detalle;
  11.  
  12. @OneToMany(mappedBy="tipoAmigo", cascade=CascadeType.ALL)
  13. private List<Amigo> amigos = new ArrayList<Amigo>();
  14.  
  15. public TipoAmigo (){
  16.        }
  17.  
  18.        //Y los demas ...
  19.  
  20.  

ESTE ES EL TEST CASE QUE ESTOY TRATANDO DE HACER, EL PATRON DE DISEÑO USADO FUE DAO

Código
  1. public class AmigoTestCase(){
  2.  
  3.  
  4. @Test
  5. public void testAgregar() {
  6.  
  7. TipoAmigo tipoAmigo = new TipoAmigol(1,"amigo");
  8. Amigo nuevo = new Amigo("lucho",tipoAmigo);
  9. int resultado = amigoDao.get().size();
  10. try {
  11. amigoDao.insert(nuevo);
  12. assertFalse(amigoDao.get().size()==resultado);
  13. } catch(Exception e) {
  14. System.out.println(e.getMessage());
  15. }
  16.  
  17. }
  18.  
  19. }
  20.  
  21.  

Esto me salta, talvez no aplico bien las anotaciones o no se bien como se hace esto de las relaciones de muchos a uno y viceversa, necesito ayuda.  :huh:

Código
  1. org.hibernate.exception.SQLGrammarException: could not execute statement




« Última modificación: 25 Octubre 2019, 04:39 am por Beginner Web » En línea

7w7
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines