Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. @Entity
  2. @Table(name="pessoa")
  3. @Inheritance(strategy = InheritanceType.JOINED)
  4. public class Pessoa {
  5.  
  6. @Id
  7. @Column(name="cd_Pessoa")
  8. @GeneratedValue(strategy = GenerationType.IDENTITY)
  9. protected long cd_Pessoa;
  10.  
  11. @NotNull
  12. @Size (min = 3, max = 50)
  13. protected String nm_Pessoa;
  14. ...
  15.  
  16. @Entity
  17. @PrimaryKeyJoinColumn(name = "cd_Pessoa")
  18. @Table(name="funcionario")
  19. public class Funcionario extends Pessoa{
  20.  
  21. protected double salario;
  22. protected double jornadaTrabalho;
  23.  
  24. @RestController //meta dados. converte json em objeto
  25. @RequestMapping ("/pessoas")
  26. public class PessoaResource {
  27.  
  28. @Autowired
  29. private PessoaRepository pessoaRepository;
  30.  
  31. @Autowired
  32. private PessoaService pessoaService;
  33.  
  34. @Autowired
  35. private ApplicationEventPublisher publisher;
  36. @GetMapping
  37. public List<Pessoa> listar(){
  38. return pessoaRepository.findAll();
  39.  
  40. @PostMapping
  41. public ResponseEntity<Pessoa> criar(@Valid @RequestBody Pessoa pessoa, HttpServletResponse response) {
  42. Pessoa pessoaSalva = pessoaRepository.save(pessoa);
  43.  
  44. publisher.publishEvent(new RecursoCriadoEvent(this, response, pessoaSalva.getCd_Pessoa()));
  45. return ResponseEntity.status(HttpStatus.CREATED).body(pessoaSalva);
  46.  
  47. }
  48. @GetMapping("/{cd_Pessoa}")
  49. public ResponseEntity<Pessoa> buscarPeloCodigo (@PathVariable Long cd_Pessoa) {
  50. Pessoa pessoa = pessoaRepository.findOne(cd_Pessoa);
  51.  
  52. return pessoa != null ? ResponseEntity.ok(pessoa) : ResponseEntity.notFound().build();
  53. }
  54. }
  55.  
  56. public interface PessoaRepository extends JpaRepository<Pessoa, Long>{
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement