Cara o hibernate está reclamando por que você está colocando as anotações diretamente nos atributos, como uma boa prática sempre colocamos as anotações nos getters para não ocorrer quebra de encapsulamento.
@Entity @Table(name = “setor”) @Access(AccessType.PROPERTY)
public class Setor{
private Long id;
@Id @GeneratedValue(strategy = GenerationType.AUTO)
public Long getId(){}
Eu tinha dropado todas tabelas de setor, procedimento… e dai ele criou tudo certinho, OK.
Entrou no sistema… tela inicial OK
Clico no botão de entrar na tela de cadastro do procedimento e gera erro.
E outra coisa,
Fiz desta mesma forma que me falou para um outro relacionamento em meu projeto que é PEDIDO tem muito PRODUTOS (só pedido enxerga os produto).
Confirma tmb, utilizar assim?
@Rafael_Blum Desculpe a demora em responder, mas como não me marcou não apareceu a notificação para mim.
Explica um pouco melhor, não entendi o problema.
Muitas vezes em um relacionamento de tabelas principalmente no caso de pedidos e produtos é normal o pedido conhecer seus produtos mas os produtos não sabem de qual pedido são, caso queira que o produto guarde o número de id do pedido basta adicionar a anotação JoinColumn ao seu atributo.
Fiz assim e funcionou.
Agora queria saber, cada procedimento fica com uma coluna de setor_id? Ela é obrigatória, porque? É que tenho uma tela que crio o procedimento e nela não quero vincular ao setor, somente quando eu criar o setor e adicionando proced.
E percebi que as vezes temos problemas com a questão do fetch = FetchType.EAGER. Por que queremos listar e tal… vou ter problemas em criar o setor e adicionar o procedimentos?
@Rafael_Blum nesse tipo de relacionamento o banco cria uma terceira tabela, os procedimentos tem de ser vinculados ao setor pelo id, mas quando vc criar um setor você pode ou não informar um procedimento e o mesmo vale pro lado inverso. Tudo fica a critério da sua imaginação na hora de programar.
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: requisicaoDeCompra, for columns: [org.hibernate.mapping.Column(produtos)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:306)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:290)
at org.hibernate.mapping.Property.isValid(Property.java:217)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:464)
at org.hibernate.mapping.RootClass.validate(RootClass.java:235)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1362)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1865)
at br.com.framework.hibernate.session.HibernateUtil.buildSessionFactory(HibernateUtil.java:38)
at br.com.framework.hibernate.session.HibernateUtil.<clinit>(HibernateUtil.java:30)
at br.com.project.filter.FilterOpenSessionInView.initFilterBean(FilterOpenSessionInView.java:43)
at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:179)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:266)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4699)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5339)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
abr 29, 2018 10:54:05 PM org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception starting filter conexaoFilter
java.lang.ExceptionInInitializerError: ERRO AO CRIAR A CONEXÃO SESSIONFACTORY!!
at
br.com.framework.hibernate.session.HibernateUtil.buildSessionFactory(HibernateUtil.java:44)
at br.com.framework.hibernate.session.HibernateUtil.<clinit>(HibernateUtil.java:30)
at
br.com.project.filter.FilterOpenSessionInView.initFilterBean(FilterOpenSessionInView.java:43)
at org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:179)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:266)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4699)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5339)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
abr 29, 2018 10:54:05 PM org.apache.catalina.core.StandardContext startInternal
GRAVE: One or more Filters failed to start. Full details will be found in the appropriate container
log file
abr 29, 2018 10:54:05 PM org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/ger-industrialatividadesdynamico] startup failed due to previous errors
abr 29, 2018 10:54:05 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: Closing Spring root WebApplicationContext
6439 [localhost-startStop-1] INFO
org.springframework.web.context.support.XmlWebApplicationContext - Closing Root
WebApplicationContext: startup date [Sun Apr 29 22:53:58 BRT 2018]; root of context
hierarchy
6439 [localhost-startStop-1] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@68f83aa8: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.resource.ResourceHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#1,contaRazaoController,documentoController,entidadeController,fornecedorController,procedimentoController,produtoController,requisicaoController,setorController,srvContaRazaoImpl,srvDocumentoImpl,srvEntida