@m.n.o escreveu:
Eu Estou tentando fazer uma relação unilateral onde uma disciplina pode ter em vários cursos, mas não quero fazer uma relação entre curso e disciplina, somente entre disciplina e curso
Classe das Disciplinas@Id // disciplina @GeneratedValue(strategy = GenerationType.AUTO, generator = "academico.seq_tabdisc") @SequenceGenerator(allocationSize = 1, name = "academico.seq_tabdisc", sequenceName = "academico.seq_tabdisc") @Column(name = "coddisc") private Integer coddisc; // codigo de descrição @Column(name = "desdisc") private String desdisc; // descrição @Column(name = "hordisc") private Integer hordisc; // carga horaria @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) @JoinColumn(name = "codcurs", referencedColumnName = "codcurs") private List<TabCurs> codcurs;
e essa seria a de Curso
@Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "academico.seq_tabcurs") @SequenceGenerator(allocationSize = 1, name = "academico.seq_tabcurs", sequenceName = "academico.seq_tabcurs") @Column(name = "codcurs") private Integer codcurs; @Column(name = "aplcurs") private String aplcurs; // apelido @Column(name = "procurs") private Integer procurs; @Column(name = "aticurs") private Integer aticurs; @Column(name = "quamese") private Integer quamese; @JoinColumn(name = "niveduc", referencedColumnName = "coddomi", insertable = true, updatable = true) @OneToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) private DomEdu niveduc; @JoinColumn(name = "codusua", referencedColumnName = "codusua", insertable = true, updatable = true) @OneToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY) private TabUsua codusua; @Column(name = "codfili") private String codfili; `
e o erro é esse
java.lang.NullPointerException at org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass(CollectionBinder.java:1456) at org.hibernate.cfg.annotations.CollectionBinder.bindOneToManySecondPass(CollectionBinder.java:864) at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:779) at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:728) at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:70) at org.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1695) at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1424) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844) at br.inf.topsoft.data.controller.HibernateUtil.conecta(HibernateUtil.java:471) at br.inf.topsoft.toploginfx.controller.LoginController$1.call(LoginController.java:309) at br.inf.topsoft.toploginfx.controller.LoginController$1.call(LoginController.java:295) at javafx.concurrent.Task$TaskCallable.call(Task.java:1423) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at javafx.concurrent.Service.lambda$null$491(Service.java:725) at java.security.AccessController.doPrivileged(Native Method) at javafx.concurrent.Service.lambda$executeTask$492(Service.java:724) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Exception in thread "JavaFX Application Thread" java.lang.NullPointerException at br.inf.topsoft.toploginfx.controller.LoginController$2.failed(LoginController.java:408) at javafx.concurrent.Service.lambda$new$489(Service.java:539) at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182) at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105) at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112) at javafx.beans.property.ObjectPropertyBase.access$000(ObjectPropertyBase.java:51) at javafx.beans.property.ObjectPropertyBase$Listener.invalidated(ObjectPropertyBase.java:233) at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137) at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105) at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112) at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146) at javafx.concurrent.Task.setState(Task.java:696) at javafx.concurrent.Task$TaskCallable.lambda$call$500(Task.java:1453) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) at java.lang.Thread.run(Thread.java:748) `
detalhe quando usei mappedBy a lista veio vazia
Mensagens: 1
Participantes: 1