gpt4 book ai didi

java hibernate 如何在以某种格式保存记录后更新值

转载 作者:行者123 更新时间:2023-11-30 11:02:01 24 4
gpt4 key购买 nike

我想为我在表中的记录生成两种格式的唯一代码。喜欢以下方式

1) "Firstprefix"+"ddmmyyyy"+Sr.number 例如 AD190620151

2) "secondprefix"+"ddmmyyyy"+Sr.number 例如 AP190620151

如果插入另一条记录,它将是其中一条,但序列号没有变化例如 AD190620152 AP190620152这是根据记录中的另一个字段生成的如何做到这一点请给出答案。

我尝试了以下方法

     @Override
public String createOrder(OrderMasterTbl order) {
getHibernateTemplate().saveOrUpdate(order);


Integer addId=order.getAdType().getId();
String id = null ;
if(addId.equals(1))
{
id="ap"+new SimpleDateFormat("ddmmyyyy").format(newDate())+order.getId();

}else{
id="dp"+new SimpleDateFormat("ddmmyyyy").
format(newDate())+order.getId();
}

System.out.print(id);
order.setOrderCode(id);
getHibernateTemplate().saveOrUpdate(order);

return id;
}

但是这样我无法根据两种格式生成正确的序列号。

最佳答案

您在这里没有获得正确的序列号,因为您对 SimpleDateFormat 使用了错误的格式, 你指的是 m 的月份虽然它应该是 M ,看看 SimpleDateFormat Documentation 了解更多信息。

你的代码应该是这样的:

new SimpleDateFormat("ddMMyyyy").format(newDate())

编辑:

为了使最后的代码递增,您只需使用两个变量 apdp在你用 1 初始化的类中并在您的方法中根据您的 if block 递增它们,你的代码应该是这样的:

 @Override
public String createOrder(OrderMasterTbl order) {
getHibernateTemplate().saveOrUpdate(order);


Integer addId=order.getAdType().getId();
String id = null ;
if(addId.equals(1)){
id="ap"+ new SimpleDateFormat("ddMMyyyy").format(newDate())+ap;
ap++;

}else{
id="dp"+new SimpleDateFormat("ddMMyyyy").format(newDate())+dp;
dp++;
}

System.out.print(id);
order.setOrderCode(id);
getHibernateTemplate().saveOrUpdate(order);

return id;
}

关于java hibernate 如何在以某种格式保存记录后更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30931392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com