Vou postar as partes principais de cada classe…Se ainda sim necessitar de mais dados posso postar…
No caso dos Usuários, o model tem os 2 campos e quando implemento o DAO uso Usuarios e pronto…
Qual das 2 classes, ou as 2 classes (Autorizacao e AutorizacaoPK) eu implemento no MB e no DAO correspondente…
Tentei expor da melhor forma que foi possível…se puderem ajudar…Obrigado
Meu Objetivo:Grava usuario e senha na tabela Usuarios e cadastras a permisao do usuario na tabela Autorizacoes
Classes Models:
Usuarios.java/*
@Entity
@Table(name = “usuarios”)
@NamedQueries({
@NamedQuery(name = “Usuarios.findAll”, query = “SELECT u FROM Usuarios u”),
@NamedQuery(name = “Usuarios.findByUsername”, query = “SELECT u FROM Usuarios u WHERE u.username = :username”),
@NamedQuery(name = “Usuarios.findByPassword”, query = “SELECT u FROM Usuarios u WHERE u.password = :password”),
@NamedQuery(name = “Usuarios.findByEnable”, query = “SELECT u FROM Usuarios u WHERE u.enable = :enable”)})
public class Usuarios implements Serializable {
private static final long serialVersionUID = 1L;
@Id
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “username”)
private String username;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “password”)
private String password;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “enable”)
private boolean enable;
@OneToMany(cascade = CascadeType.ALL, mappedBy = “usuarios”)
private Collection autorizacoesCollection;
public Usuarios() {
}
public Usuarios(String username) {
this.username = username;
}
public Usuarios(String username, String password, boolean enable) {
this.username = username;
this.password = password;
this.enable = enable;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean getEnable() {
return enable;
}
public void setEnable(boolean enable) {
this.enable = enable;
}
public Collection<Autorizacoes> getAutorizacoesCollection() {
return autorizacoesCollection;
}
public void setAutorizacoesCollection(Collection<Autorizacoes> autorizacoesCollection) {
this.autorizacoesCollection = autorizacoesCollection;
}
Autorizacoes.java/*
@Entity
@Table(name = “autorizacoes”)
@NamedQueries({
@NamedQuery(name = “Autorizacoes.findAll”, query = “SELECT a FROM Autorizacoes a”),
@NamedQuery(name = “Autorizacoes.findByAuthority”, query = “SELECT a FROM Autorizacoes a WHERE a.autorizacoesPK.authority = :authority”),
@NamedQuery(name = “Autorizacoes.findByUsername”, query = “SELECT a FROM Autorizacoes a WHERE a.autorizacoesPK.username = :username”)})
public class Autorizacoes implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected AutorizacoesPK autorizacoesPK;
@JoinColumn(name = “username”, referencedColumnName = “username”, insertable = false, updatable = false)
@ManyToOne(optional = false)
private Usuarios usuarios;
public Autorizacoes() {
}
public Autorizacoes(AutorizacoesPK autorizacoesPK) {
this.autorizacoesPK = autorizacoesPK;
}
public Autorizacoes(String authority, String username) {
this.autorizacoesPK = new AutorizacoesPK(authority, username);
}
public AutorizacoesPK getAutorizacoesPK() {
return autorizacoesPK;
}
public void setAutorizacoesPK(AutorizacoesPK autorizacoesPK) {
this.autorizacoesPK = autorizacoesPK;
}
public Usuarios getUsuarios() {
return usuarios;
}
public void setUsuarios(Usuarios usuarios) {
this.usuarios = usuarios;
}
AutorizacoesPK.java/*
@Embeddable
public class AutorizacoesPK implements Serializable {
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “authority”)
private String authority;
<a class="mention" href="/u/basic">@Basic</a>(optional = false)
@Column(name = “username”)
private String username;
public AutorizacoesPK() {
}
public AutorizacoesPK(String authority, String username) {
this.authority = authority;
this.username = username;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
Classes MB:
UsuariosMB.java/*
private Usuarios usuario;
public UsuariosMB() {
if (this.usuario == null) {
this.usuario = new Usuarios();
}
}
public void incluirUsuario() {
try {
UsuariosDAO dao = new UsuariosDAO();
dao.salvaOuEdita(getUsuario());
} catch (ValidationException e) {
msgError(e.getMessage());
} catch (Exception e) {
msgError("Falha");
}
}
public Usuarios getUsuario() {
return usuario;
}
public void setUsuario(Usuarios usuario) {
this.usuario = usuario;
}
AutorizacoesMB.java/*
private AutorizacoesPK autorizacao;
public AutorizacoesMB() {
if (this.autorizacao == null) {
this.autorizacao = new AutorizacoesPK();
}
}
public void incluirAutorizacao() {
try {
AutorizacoesDAO dao = new AutorizacoesDAO();
dao.salvaOuEdita(autorizacao);
} catch (ValidationException e) {
msgError(e.getMessage());
} catch (Exception e) {
msgError("Falha");
}
}
public AutorizacoesPK getAutorizacao() {
return autorizacao;
}
public void setAutorizacao(AutorizacoesPK autorizacao) {
this.autorizacao = autorizacao;
}
Classes DAO:
UsuariosDAO.java/*
private Session session;
public void conecta() {
session = new HibernateFactory().getSession();
}
public void desconecta() throws Exception {
if (this.session != null)
this.session.close();
}
public void incluirUsuario(Usuarios usuario) throws Exception {
conecta();
Transaction tx = session.beginTransaction();
try{
this.session.save(usuario);
tx.commit();
}catch (Exception e) {
tx.rollback();
throw new Exception("ERRO: " + e.getMessage());
} finally {
desconecta();
}
}
AutorizacoesDAO.java/*
private Session session;
public void conecta() {
session = new HibernateFactory().getSession();
}
public void desconecta() throws Exception {
if (this.session != null)
this.session.close();
}
public void salvaOuEdita(AutorizacoesPK autorizacao) throws Exception {
conecta();
Transaction tx = session.beginTransaction();
try{
this.session.saveOrUpdate(autorizacao);
tx.commit();
}catch (Exception e) {
e.printStackTrace();
System.out.println(e);
tx.rollback();
throw new Exception("ERRO: " + e.getMessage());
} finally {
desconecta();
}
}
ERRO:
org.hibernate.MappingException: Unknown entity: br.com.webtrainer.model.AutorizacoesPK
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at br.com.webtrainer.dao.AutorizacoesDAO.salvaOuEdita(AutorizacoesDAO.java:25)
at br.com.webtrainer.mb.AutorizacoesMB.incluirAutorizacao(AutorizacoesMB.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
at javax.faces.component.UICommand.broadcast(UICommand.java:383)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
org.hibernate.MappingException: Unknown entity: br.com.webtrainer.model.AutorizacoesPK