Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取下一个序列号_Java_Mysql_Hibernate - Fatal编程技术网

Java 获取下一个序列号

Java 获取下一个序列号,java,mysql,hibernate,Java,Mysql,Hibernate,我有一个类帐户,其属性编号,其值为fe: 130.11.0000001 [plan_code].[year].[sequential number] 现在我将这个number属性映射为String。 因此,当我想为相同的计划(code=130)创建第二个帐户时,它应该得到number=130.11.0000002 当为计划(code=100)建立账户时,该账户应具有number=100.11.0000001 我想从hibernate使用hilo生成器,但不知道如何启动,也不知道使用hilo生

我有一个类
帐户
,其属性
编号
,其值为fe:

130.11.0000001

[plan_code].[year].[sequential number]
现在我将这个
number
属性映射为
String
。 因此,当我想为相同的
计划(code=130)
创建第二个
帐户时,它应该得到
number=130.11.0000002

当为
计划(code=100)
建立
账户时,该账户应具有
number=100.11.0000001

我想从hibernate使用
hilo
生成器,但不知道如何启动,也不知道使用
hilo生成器是否可能启动。因此,欢迎提出任何实施建议/想法


也许我应该开始创建
number
属性类型
AccountNumber
,并将其id设置为hilo生成的值?

创建一个类,将AccountNumber实现为三个字段,然后它将
toString
生成组合,怎么样?那么,在前面的实例中,执行增量是很容易的

public class AccountNumber{
     public final int planCode;
     public final int year;
     public final int sequenceNumber;

     ...

     public static AccountNumber getNextSequenceNumber(AccountNumber previous)...
}

创建一个类,将account number实现为三个字段,并由
toString
生成组合,怎么样?那么,在前面的实例中,执行增量是很容易的

public class AccountNumber{
     public final int planCode;
     public final int year;
     public final int sequenceNumber;

     ...

     public static AccountNumber getNextSequenceNumber(AccountNumber previous)...
}
看看

您需要手动设置计划代码和年份,并让hibernate使用内置生成器生成sequenceNumber

不过我还没有测试过

看看

您需要手动设置计划代码和年份,并让hibernate使用内置生成器生成sequenceNumber


虽然我没有测试过,但sequenceNumber不是唯一的,只有plancode+年份+sequenceNumber的组合是唯一的,因此当创建一个计划(代码=100)账户时,它应该是number=100.11.0000001当您尝试创建下一个时,您是否总是拥有plancode+年份的最新元素?如果是这样,请传入该对象,使用其plancode+year并递增序列号。如果不是,则创建一个
多重映射
,其中第一个键是planCode,第二个键是year。或者更好的是
,但sequenceNumber不是唯一的,只有planCode+year+sequenceNumber的组合是唯一的,因此当计划账户(代码=100)时当您尝试创建下一个plancode+年度时,是否始终具有plancode+年度的最新元素?如果是这样,请传入该对象,使用其plancode+year并递增序列号。如果不是,则创建一个
多贴图
,其中第一个关键点是平面代码,第二个关键是年份。或者更好的是
Table
您是否有一个数据库并且已经在使用Hibernate,或者您只是在尝试使用Hibernate类来生成唯一的id?您是否有一个数据库并且已经在使用Hibernate,或者您只是在尝试使用Hibernate类来生成唯一的id?