我有一个 ClobType,它扩展了 Hibernate 的 UserType 并按照您的期望做:将在数据库中找到的 clob 转换为字符串。我将我的 clob 列映射到 ClobType,当我在我的 JSP 页面中访问它们时,这些列可以很好地呈现。
但是现在我正在尝试设置值,我很难过。因为我可以写${myObject.longField}
在我的 JSP 页面告诉我我大概可以说
String s = myObject.getLongField().toString();
并获取字符串,尽管 LongField 是 ClobType 类型。
我不知道如何使用setter。我可以轻松地实例化 ClobType,但是如何给它提供它需要作为 blob 持久存在的字符串数据?
ClobType clobType = new ClobType();
String s = "... a really REALLY long string ...";
/* a miracle occurs */
myObject.setLongField( clobType );
myObjectDAO.saveOrUpdate( myObject );
为了给 ClobType 一个字符串值,我需要什么奇迹?
或者,有没有更好(或更合适)的方法让我的两个设置器返回字符串而不是 ClobTypes?是否有特殊的映射可以做到这一点?我的业务逻辑不需要知道给定的列是作为 blob 实现的。