Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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 Hibernate生成预定义的实体标识符_Java_Hibernate_Jpa_Orm_Hibernate Mapping - Fatal编程技术网

Java Hibernate生成预定义的实体标识符

Java Hibernate生成预定义的实体标识符,java,hibernate,jpa,orm,hibernate-mapping,Java,Hibernate,Jpa,Orm,Hibernate Mapping,首先,我刚开始冬眠。我正在为我的办公室开发一个应用程序,我被要求使用一个特定的id,应该是这样的(“YEARMONTHDATE”当天的意外数字) 例如,如果2015年2月2日报告了一个事件,并且该事件是当天的第三个事件,则id应为“201502003” 我需要知道如何在Hibernate中实现这一点。最重要的是,最后两位数字应该在检查最后一条记录和日期之后出现 您应该将所有这些逻辑封装到一个存储过程中,然后添加一个数据库,将主键分配给存储过程调用的输出值 在Hibernate中,必须使用选择标识

首先,我刚开始冬眠。我正在为我的办公室开发一个应用程序,我被要求使用一个特定的id,应该是这样的(“YEARMONTHDATE”当天的意外数字)

例如,如果2015年2月2日报告了一个事件,并且该事件是当天的第三个事件,则id应为“201502003”


我需要知道如何在Hibernate中实现这一点。最重要的是,最后两位数字应该在检查最后一条记录和日期之后出现

您应该将所有这些逻辑封装到一个
存储过程中,然后添加一个数据库,将主键分配给存储过程调用的输出值

在Hibernate中,必须使用
选择
标识符生成器:

@Id @GeneratedValue(generator="trigger-generated")
@GenericGenerator(
    name="trigger-generated", 
    strategy = "select"
)
private String id;

这违反了1NF。你这么做真的是一种义务吗?非常感谢。我将尝试这一点,看看我是否尝试将以前的java代码转换为存储过程。但这是一个小问题。在java中,我可以拆分字符串。但是在存储过程中,是否有任何函数可以用来拆分spring以检查日期?我必须有两个字符串,日期和索引号才能生成下一个值