Bom noite eu estou com segunite problemas quando peço para rodar minha aplicação web
javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer
Eu tenho o seguinte mapeamento
@Entity
@Table(name = "pessoa")
public class Pessoa extends PersistentModel implements Serializable {
private static final long serialVersionUID = 1L;
@NotEmpty
@Column(name = "matriculaPM", length = 20)
private String matriculaPM;
@NotEmpty
@Column(name = "siape", length = 20)
private String siape;
@NotEmpty
@Column(name = "nome", length = 60)
private String nome;
@Column(name = "pispasep", length = 20)
private String pisPasep;
@Column(length = 20)
private String titulo;
@Column(length = 10)
private String secao;
@Column(length = 6)
private String zona;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "pessoa")
private List<Telefone> telefones;
@NotEmpty
@Column(length = 4)
private Integer altura;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "pessoa")
private List<Escolaridade> escolaridades;
@Temporal(TemporalType.DATE)
private Date dataCadastro;
private Boolean statusCadastro = true;
@Enumerated(EnumType.STRING)
private Religiao religiao;
@Temporal(TemporalType.DATE)
private Date dataIncorporacao;
private SituacaoFuncional situacaoFuncional;
Para a minha view eu estou usando o primefaces…
<h:outputLabel value="Data de Nascimento:*" for="nascimento" />
<p:inputText id="nascimento" label="nascimento"
value="#{pessoaController.pessoaCorrente.dataNascimento}"
size="30" maxlength="30" required="true"
requiredMessage="Data de nascimento obrigatória">
</p:inputText>
Grato a quem puder ajudar
Você está utilizando inputText ao invés do calendar.
troque
<p:inputText
por
<p:calendar
Tete isso:
em
@NotEmpty
@Column(length = 4)
private Integer altura;
troque por isto:
@NotNull
@Column(length = 4)
private Integer altura;
Iai amigo,
alguma das soluções propostas resolveram o problema?
Posta o feedback aí.
Cara, na verdade eu vim aqui pra tentar tirar sua dúvida,
mas acabei ficando com outra. É pq eu estou estudando
hibernate agora, e vi no teu relacionamento, os dois
LIST ali estão sendo ‘mapeados por’ “pessoa”. Alguém poderia
me explicar o pq??
Desculpa pegar carona no tópico
abraz
d34d_d3v1l, esse mapeamento foi feito porque as tabelas tem relacionamento (uma pessoa pode ter um ou mais telefones), no caso, mapeamento de chaves estrangeiras
exemplo:
CREATE TABLE `banner_imagem` (
`ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
`CAMINHO` VARCHAR(200) NULL DEFAULT NULL,
`CATEGORIA_ID` SMALLINT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`ID`),
INDEX `FK_BANNER_IMAGEM_CATEGORIA` (`CATEGORIA_ID`),
CONSTRAINT `FK_BANNER_IMAGEM_CATEGORIA` FOREIGN KEY (`CATEGORIA_ID`) REFERENCES `banner_categoria` (`ID`) ON UPDATE NO ACTION ON DELETE NO ACTION
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=0
CREATE TABLE `banner_categoria` (
`ID` SMALLINT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`NOME` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`ID`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=9
banner_imagem é pertencente a um banner_categoria
banner_categoria tem um ou mais banner_imagem
logo, a entidade banner_categoria terá uma List<BannerImagem> mapeado na classe, e banner_imagem terá um BannerCategoria na classe, que será o pai dela
(não sei explicar muito bem isso)
uma boa forma de você ver como são gerados os mapeamentos, é baixar o netbeans e pedir para ele gerar para você as classes, você passa para ele aonde estão essas classes, que no caso é o banco de dados na tabela que você quer, ele fará uma leitura de tudo, seja chave primaria, estrangeira, todos os tipos de relacionamento, e vai gerar as entidades anotadas pra ti, depois disso da uma analizada que tu vai entender direitinho, é bem sossegado.
:OOOOOOOOOOOOOOO
o netbeans lê scripts SQL e gera classes agora?ANOTADAS? Nossa senhora!
kkkkkkkkkkkkkkkk
sabia disso não…
que chique!
Eu to fazendo devagar, na unha por enquanto… quero aprender bem os conceitos…
Obrigado pela resposta.
E desculpem por pegar carona no tópico (2).
abraços