用户登录
用户注册

分享至

usertype hibernate

  • 作者: 我是老王的老婆i
  • 来源: 51数据库
  • 2020-10-15

我举了一个例子,如下:


 * UserType.nullSafeGet()所返回的自定义数据类型

  */

public Class returnedClass() {

  return List.class;

}


/**

  * 返回UserType所映射字段的SQL类型(java.sql.Types) 返回类型为int[],其中包含了映射个字段的SQL类型代码

  * (UserType可以映射到一个或者多个字段)

  */

public int[] sqlTypes() {

  return TYPES;

}


/**

  * 自定义数据类型的比对方法 此方法将用作脏数据检查,参数x、y分别为数据的两个副本

  * 如果equals方法返回false,则Hibernate将认为数据发生变化,并将变化更新到数据库表中

  */

public boolean equals(Object x, Object y) throws HibernateException {

  if (x == y)

   return true;

  if (x != null && y != null) {

   List xList = (List) x;

   List yList = (List) y;

   if (xList.size() != yList.size())

    return false;

   for (int i = 0; i < xList.size(); i++) {

    String str1 = (String) xList.get(i);

    String str2 = (String) yList.get(i);

    if (!str1.equals(str2))

     return false;

   }

   return true;

  }

  return false;

}


软件
前端设计
程序设计
Java相关