I'm having an error opening the screen with the search results in the database. The error is in the image below.
Debugging, data is coming from the database.
In the other image, the Server Log appears
MyNeighborhoods
@Entity@Table(name="Bairros", schema="glb")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Bairros.findAll", query = "SELECT b FROM Bairros b"),
@NamedQuery(name = "Bairros.findByIdbairro", query = "SELECT b FROM Bairros b WHERE b.bairrosPK.idbairro = :idbairro"),
@NamedQuery(name = "Bairros.findByNome", query = "SELECT b FROM Bairros b WHERE b.nome = :nome"),
@NamedQuery(name = "Bairros.findByCodigodne", query = "SELECT b FROM Bairros b WHERE b.codigodne = :codigodne"),
@NamedQuery(name = "Bairros.findByIdentidade", query = "SELECT b FROM Bairros b WHERE b.bairrosPK.identidade = :identidade")})
public class Bairros {
@EmbeddedId
protected BairrosPK bairrosPK;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 70)
@Column(name = "Nome")
private String nome;
@Size(max = 8)
@Column(name = "Codigo_dne")
private String codigodne;
/* @JoinTable(name = "Logradouros_bairros", joinColumns = {
@JoinColumn(name = "Id_entidade", referencedColumnName = "Id_entidade"),
@JoinColumn(name = "Id_bairro", referencedColumnName = "Id_bairro")}, inverseJoinColumns = {
@JoinColumn(name = "Id_entidade", referencedColumnName = "Id_entidade"),
@JoinColumn(name = "Id_logradouro", referencedColumnName = "Id_logradouro")})*/
/* @ManyToMany
private Collection<Logradouros> logradourosCollection;*/
@JoinColumn(name = "Id_entidade", referencedColumnName = "Id_entidade", insertable = false, updatable = false)
@ManyToOne(optional = false)
private Entidades entidades;
@JoinColumn(name = "Id_municipio", referencedColumnName = "Id_municipio")
@ManyToOne(optional = false)
private Municipios idmunicipio;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "bairros")
private Collection<Pessoasenderecos> pessoasenderecosCollection;
public Bairros() {
}
public Bairros(BairrosPK bairrosPK) {
this.bairrosPK = bairrosPK;
}
public Bairros(BairrosPK bairrosPK, String nome) {
this.bairrosPK = bairrosPK;
this.nome = nome;
}
public Bairros(long idbairro, long identidade) {
this.bairrosPK = new BairrosPK(idbairro, identidade);
}
public BairrosPK getBairrosPK() {
return bairrosPK;
}
public void setBairrosPK(BairrosPK bairrosPK) {
this.bairrosPK = bairrosPK;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCodigodne() {
return codigodne;
}
public void setCodigodne(String codigodne) {
this.codigodne = codigodne;
}
/*@XmlTransient
public Collection<Logradouros> getLogradourosCollection() {
return logradourosCollection;
}
public void setLogradourosCollection(Collection<Logradouros> logradourosCollection) {
this.logradourosCollection = logradourosCollection;
}*/
public Entidades getEntidades() {
return entidades;
}
public void setEntidades(Entidades entidades) {
this.entidades = entidades;
}
public Municipios getIdmunicipio() {
return idmunicipio;
}
public void setIdmunicipio(Municipios idmunicipio) {
this.idmunicipio = idmunicipio;
}
@XmlTransient
public Collection<Pessoasenderecos> getPessoasenderecosCollection() {
return pessoasenderecosCollection;
}
public void setPessoasenderecosCollection(Collection<Pessoasenderecos> pessoasenderecosCollection) {
this.pessoasenderecosCollection = pessoasenderecosCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (bairrosPK != null ? bairrosPK.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Bairros)) {
return false;
}
Bairros other = (Bairros) object;
if ((this.bairrosPK == null && other.bairrosPK != null) || (this.bairrosPK != null && !this.bairrosPK.equals(other.bairrosPK))) {
return false;
}
return true;
}
@Override
public String toString() {
return "br.marcars.m3.hibernate.Bairros[ bairrosPK=" + bairrosPK + " ]";
}
}
My BairroController Java Class
@RestController
@RequestMapping (value="/user")
public class BairrosController {
@Autowired
BairrosService bairrosService;
//end Points
@RequestMapping(method = RequestMethod.POST, value = "/bairros", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Bairros> cadastrarBairros(@RequestBody Bairros bairros) {
Bairros bairrosCadastrado = bairrosService.cadastrar(bairros);
return new ResponseEntity<Bairros>(bairrosCadastrado, HttpStatus.CREATED);
}
@RequestMapping(method = RequestMethod.GET, value = "/bairros", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Bairros>> buscarTodosBairros() {
Collection<Bairros> bairrosBuscados = bairrosService.buscarTodos();
return new ResponseEntity<>(bairrosBuscados, HttpStatus.OK);
}
@RequestMapping(method = RequestMethod.GET, value = "/bairros/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Bairros> buscarBairrosPorId(@PathVariable int id) {
Bairros bairros = bairrosService.buscaPorId(id);
return new ResponseEntity<>(bairros, HttpStatus.OK);
}
@RequestMapping(method = RequestMethod.DELETE, value = "/bairros/{id}")
public ResponseEntity<Bairros> excluirBairros(@PathVariable int id) {
Bairros bairroEncontrado = bairrosService.buscaPorId(id);
if (bairroEncontrado == null) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
bairrosService.excluir(bairroEncontrado);
return new ResponseEntity<>(HttpStatus.OK);
}
@RequestMapping(method = RequestMethod.PUT, value = "/bairros", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Bairros> alterarBairros(@RequestBody Bairros bairros) {
Bairros bairroAlterado = bairrosService.alterar(bairros);
return new ResponseEntity<Bairros>(bairroAlterado, HttpStatus.OK);
}
}
Neighborhood Class CoNtroller.js
app.controller("buscaBairroController", function($scope, $http) {
$scope.bairros = [];
$scope.bairro = {}; // binding com o form
carregarBairros = function() {
token = localStorage.getItem("userToken");
$http({
method : 'GET',
url : 'http://localhost:8080/user/bairros'
}).then(function(response) {
$scope.bairros = response.data;
}, function(response) {
console.log(response.data);
console.log(response.status);
});
};
$scope.salvarBairros = function() {
if ($scope.frmBairro.$valid) {
$http({
method : 'POST',
url : 'http://localhost:8080/user/bairros',
data : $scope.bairro
}).then(function(response) {
$("#modalSalvoSucesso").modal("show");
carregarBairros();
$scope.bairro = {};
}, function(response) {
console.log(response.data);
console.log(response.status);
});
} else {
$("#modalCampoObrigatorio").modal("show");
}
};
$scope.excluirBairros = function(bairro) {
bootbox.confirm({
message : "Deseja excluir o registro permanentemente ?",
buttons : {
cancel : {
label : '<i class="fa fa-times"></i> Cancelar'
},
confirm : {
label : '<i class="fa fa-check"></i> Sim'
}
},
callback : function(result) {
if (result == true) {
$http({
method : 'DELETE',
url : 'http://localhost:8080/user/bairros/'+bairro.id
}).then(function(response) {
pos = $scope.bairros.indexOf(bairro);
$scope.bairros.splice(pos, 1);
}, function(response) {
console.log(response.data);
console.log(response.status);
});
}
}
});
};
$scope.alterarBairros = function(bar) {
$scope.bairro = angular.copy(bar);
};
$scope.cancelarAlteracaoBairros = function() {
$scope.bairro = {};
};
carregarBairros();
});