Já fiz isso com um Objeto “Imagem” (no meu caso era uma), que tinha as propriedades: nome do arquivo (String), conteudo(byte[]), mimeType (String). No listener do FileUpload do Primefaces, vem o evento de UploadEvent (ou algo do tipo). A partir desse evento, vc pega o content (byte[]) e seta na sua variável. També pega o nome e o tipo. Assim, você tem um objeto “Arquivo”. Esse objeto arquivo pode ser uma entidade do seu banco de dados, onde o conteudo dele (byte[]) é do tipo BLOB. Em JPA, você apenas anota essa classe com @Entity e o conteudo com @Lob.