【发布时间】:2016-06-13 07:33:20
【问题描述】:
这里我尝试在mysql db中保存数据后获取自动生成的ID。
DTO 类
public class TradeTransaction {
private long tradetransactionid ;
private long borrowerid ;
private String operationalcountry ;
private String productcategory ;
private String producttype ;
private boolean ishazardous;
private boolean specialisedHandle;
private String currency;
private double transactionvalue;
private String suppliercountry;
@Id
@Column
public long getTradetransactionid() {
return tradetransactionid;
}
@Column
public long getBorrowerid() {
return borrowerid;
}
业务逻辑类持久化到数据库中。
EntityManager v_objEm;
EntityTransaction v_objTran;
TradeTransaction v_ObjectToPersist;
v_ObjectToPersist = new TradeTransaction();
v_ObjectToPersist.setBorrowerid(25);
v_ObjectToPersist.setOperationalcountry("India");
v_ObjectToPersist.setProductcategory("electornics");
v_ObjectToPersist.setProducttype("E9088"));
v_ObjectToPersist.setIshazardous(true);
v_ObjectToPersist.setSpecialisedHandle(true);
v_ObjectToPersist.setCurrency("usd");
v_ObjectToPersist.setTransactionvalue(2000.3);
v_ObjectToPersist.setSuppliercountry("african-based");
v_objEm = MyCustomClass.getEntityManager();
v_objTran = v_objEm.getTransaction();
v_objTran.begin();
v_objEm.persist(v_ObjectToPersist);
System.out.println(v_ObjectToPersist.getTradetransactionid()); //Transaction ID print as Zero.
v_objTran.commit();
System.out.println(v_ObjectToPersist.getTradetransactionid()); //Transaction ID print as Zero Here Too.
//v_objEm.refresh(v_ObjectToPersist); //not Working throwing Exception.
v_objEm.close();
我尝试了不同风格的代码来从Object 获取自动生成的 ID,该 ID 只是持久化到数据库中。但没有成功。
注意:- 此代码工作正常,并将数据保存到 db (无错误)。但是将无法获得自动生成的 ID(这是一个 primary key 在表中有多个引用)。
到目前为止我尝试过的链接
请帮帮我..任何帮助都会被应用..
谢谢。
【问题讨论】:
标签: java mysql spring hibernate jpa