Buenas, estoy trabajando con Netbeans 7.1 y al principio de crear mi aplicacion creé un nuevo esquema en la base de datos "sample" que viene con glassfish. El esquema se llama TIENDA, y lo tengo como esquema por defecto (boton derecho, Set as Default Schema). Dentro del esquema tengo varias tablas, entre ellas USUARIO, con varios campos, entre ellos DIRECCION1.
Bien, pues me he creado un formulario con los campos de mi Entity Usuario.java, para hacer una prueba de registro, y me salta este error:
Código:
Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException: 'DIRECCION1' no es una columna en la tabla o VTI 'APP.USUARIO'.
Error Code: -1
Como se puede ver, está intentando persistir en el esquema "APP", cuando yo lo que quiero es usar mi esquema. Inserto varios trozos de codigo para que se entienda mejor:
Código Java:
Ver originalpublic class LoginManagedBean {
@EJB
private UsuarioBeanLocal usuarioBean;
private Usuario usuario;
Usuario flag = usuarioBean.insert(usuario);
if (flag == null) {
return "ERROR";
} else {
return "OK";
}
}
}
Código Java:
Ver original@Stateless
public class UsuarioBean implements UsuarioBeanLocal {
@PersistenceContext(unitName = "TiendaOnline-ejbPU")
private EntityManager em;
@Override
public Usuario insert(Usuario usuario) {
return update(usuario);
}
@Override
public Usuario update(Usuario usuario) {
return em.merge(usuario);
}
Código Java:
Ver original<h:form>
<h1><h:outputText value="Create/Edit"/></h1>
<h:panelGrid columns="3">
<h:outputLabel value="Email:" for="email" />
<h:inputText id="email" value="#{loginManagedBean.usuario.email}" title="Email" required="true" requiredMessage="The Email field is required."/>
<h:message for="email" style="color:red" />
<h:outputLabel value="Password:" for="password" />
<h:inputText id="password" value="#{loginManagedBean.usuario.password}" title="Password" required="true" requiredMessage="The Password field is required."/>
<h:message for="password" style="color:red" />
<h:outputLabel value="Nombre:" for="nombre" />
<h:inputText id="nombre" value="#{loginManagedBean.usuario.nombre}" title="Nombre" required="true" requiredMessage="The Nombre field is required."/>
<h:message for="nombre" style="color:red" />
<h:outputLabel value="Apellidos:" for="apellidos" />
<h:inputText id="apellidos" value="#{loginManagedBean.usuario.apellidos}" title="Apellidos" required="true" requiredMessage="The Apellidos field is required."/>
<h:message for="apellidos" style="color:red" />
<h:outputLabel value="Direccion1:" for="direccion1" />
<h:inputText id="direccion1" value="#{loginManagedBean.usuario.direccion1}" title="Direccion1" />
<h:message for="direccion1" style="color:red" />
<h:outputLabel value="Direccion2:" for="direccion2" />
<h:inputText id="direccion2" value="#{loginManagedBean.usuario.direccion2}" title="Direccion2" />
<h:message for="direccion2" style="color:red" />
<h:outputLabel value="Sexo:" for="sexo" />
<h:inputText id="sexo" value="#{loginManagedBean.usuario.sexo}" title="Sexo" required="true" requiredMessage="The Sexo field is required."/>
<h:message for="sexo" style="color:red" />
<h:outputLabel value="Activo:" for="activo" />
<h:inputText id="activo" value="#{loginManagedBean.usuario.activo}" title="Activo" required="true" requiredMessage="The Activo field is required."/>
<h:message for="activo" style="color:red" />
<h:outputLabel value="FechaRegistro:" for="fechaRegistro" />
<h:inputText id="fechaRegistro" value="#{loginManagedBean.usuario.fechaRegistro}" title="FechaRegistro" required="true" requiredMessage="The FechaRegistro field is required.">
<f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss" />
</h:inputText>
<h:message for="fechaRegistro" style="color:red" />
<h:outputLabel value="FechaBaja:" for="fechaBaja" />
<h:inputText id="fechaBaja" value="#{loginManagedBean.usuario.fechaBaja}" title="FechaBaja" >
<f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss" />
</h:inputText>
<h:message for="fechaBaja" style="color:red" />
<h:commandButton value="Enviar" action="#{loginManagedBean.signup}" />
</h:panelGrid>
</h:form>