Java 通过POST使用hibernate和vraptor插入带有外键的实体
我试图通过POST使用Ajax和JQuery在数据库中插入json taxistaPonto,其他实体没有外键也可以,但我不知道如何使用外键插入这个实体。我以Json格式发送请求。也许我的json格式不对?如何在数据库中插入此实体 型号:Java 通过POST使用hibernate和vraptor插入带有外键的实体,java,jquery,json,hibernate,vraptor,Java,Jquery,Json,Hibernate,Vraptor,我试图通过POST使用Ajax和JQuery在数据库中插入json taxistaPonto,其他实体没有外键也可以,但我不知道如何使用外键插入这个实体。我以Json格式发送请求。也许我的json格式不对?如何在数据库中插入此实体 型号: @Entity(name="taxistaPonto") public class TaxistaPonto { @Id @GeneratedValue(strategy = GenerationType.AUTO) private
@Entity(name="taxistaPonto")
public class TaxistaPonto {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@OneToOne
@JoinColumn(name = "fk_taxista",nullable=false)
private Taxista taxista;
@OneToOne
@JoinColumn(name = "fk_ponto",nullable=false)
private Ponto ponto;
public TaxistaPonto() {
super();
}
public TaxistaPonto(Integer id, Taxista taxista, Ponto ponto) {
super();
this.id = id;
this.taxista = taxista;
this.ponto = ponto;
}//... getters and setters
控制器:
@Controller
@Path("/taxistaponto")
public class TaxistaPontoController {
@Inject
private Result result;
@Inject
private TaxistaPontoDAO taxistaPontoDAO;
@Consumes("application/json")
@Post("/add")
public void add(TaxistaPonto taxistaPonto){
taxistaPontoDAO.salvar(taxistaPonto);
}
}
道:
这是我的要求:
$(document).ready(function(){
var carro =
{"descricao" : "carro mt legal", "placa" : "12938713"};
var taxista =
{id : 5, "nome" : "12:58", "sexo" : "trans", "login" : "loginmeu", "senha" : "minhasenhsa", carro : carro};;
var ponto =
{id : 8,"latitude" : "40", "longitude" : "96"};
var taxistaPonto =
{taxista : taxista, ponto : ponto};
$.ajax({
type: "POST",
url: "https://expotaxi.herokuapp.com/taxistaponto/add",
data: JSON.stringify(taxistaPonto),
contentType: "application/json",
dataType: "json",
success: function(data){
alert("sucesso");
},
error : function(data){
alert("error");
}
});
});
@编辑:这是一个例外:
并且也显示了类似这样的错误“未捕获异常:内存不足”您可以检查Salver方法上的taxistaPonto对象吗。能否在服务器端共享解析逻辑/处理请求
对于您的情况,您可以在处理添加请求时在服务器端更正此错误。异常说明是什么?“未捕获的异常:内存不足”如何执行?我已经尝试了很多方法,但我不知道如何修复它。您的“添加”API服务似乎无法访问或在链接()上未处于活动状态。这样你就得到了404错误。解决方案:确保服务器端的API(方法)可以从浏览器访问或部署在服务器上并处于活动状态。然后再试一次。
$(document).ready(function(){
var carro =
{"descricao" : "carro mt legal", "placa" : "12938713"};
var taxista =
{id : 5, "nome" : "12:58", "sexo" : "trans", "login" : "loginmeu", "senha" : "minhasenhsa", carro : carro};;
var ponto =
{id : 8,"latitude" : "40", "longitude" : "96"};
var taxistaPonto =
{taxista : taxista, ponto : ponto};
$.ajax({
type: "POST",
url: "https://expotaxi.herokuapp.com/taxistaponto/add",
data: JSON.stringify(taxistaPonto),
contentType: "application/json",
dataType: "json",
success: function(data){
alert("sucesso");
},
error : function(data){
alert("error");
}
});
});