Spring触发器中生成的JPA + EclipseLink ID

时间:2015-08-19 22:48:46

标签: java spring jpa eclipselink

我在实体上指定了一个ID列,如下所示:

@Id
@Column(name="id_seq", unique=true, nullable=false, precision=38)
private Long idSeq;

非常基本的。问题是该字段是在触发器中设置的,还有其他几个字段。

似乎没有符合此需求的@Generated选项。在良好的'JDBC中,我会使用getGeneratedKeys()调用来执行此操作。

有没有办法指定在插入后需要在实体中更新此字段?

1 个答案:

答案 0 :(得分:1)

事实证明,这可以完成工作:

<div id="msCont">  
  <select id="multiselect" multiple="multiple">
    <option value="1">Item1</option>
    <option value="2">Item2</option>
    <option value="3">Item3</option>
    <option value="4">Item4</option>
    <option value="5">Item5</option>
  </select>
</div>

$(document).ready(function() {
    //Init widget
    $("#multiselect").kendoMultiSelect({});
    //Destroy widget
    var multiselect = $("#multiselect").data("kendoMultiSelect");
    multiselect.destroy();
    //KendoUI seems to leave behind some widget divs, so remove them
    // using container div as selector
    $("#msCont").find(".k-multiselect-wrap").remove();
    $("#msCont").prepend($("#multiselect")).find(".k-widget").remove();
    //update the option and re-initialize
    $("#multiselect option").eq(0).prop("disabled", "disabled");        
    $("#multiselect").kendoMultiSelect({});     
});

还必须在Entity与.save()上使用MyJpaRespoitory.saveAndFlush(),以便在保存完成时查看实体中更新的值。

这适用于Oracle,但它可能无法在所有平台上运行。