有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Hibernate中将普通列的值自动设置为主列的值

我有一个表格,有两列,一列是“序列号”,另一列是“筛选号” 如果用户给出了筛选编号,则系统将保存该筛选编号,如果用户没有给出筛选编号,则系统将为筛选编号生成与“序列号”值相同的值

对于“序列号”,我使用@Id@GeneratedValue(strategy=GenerationType.IDENTITY)注释 如果用户没有给出“屏蔽号”,我如何将“序列号”的相同值初始化为“屏蔽号”

请帮忙!! 谢谢


共 (1) 个答案

  1. # 1 楼答案

    你可以用setter和getter做一件事。在screeningNo的getter方法中,可以检查null并从serialNo设置值。就像

    public <type> getScreeningNo(){
      if(this.screeningNo == null){
        this.screeningNo = getSerialNo();
      }
    }
    

    由于hibernate将调用getter,同时将screeningNo的值保存到DB,因此serialNo的值将在设置好时被设置