1

我创建了一个方法,其参数为 Integer 以使用休眠从 Db 获取数据库记录。现在我有相同场景的字符串类型参数。我可以将该方法签名更改为可序列化以支持整数和字符串吗?如果我将 Serializable 作为方法参数,会有什么问题吗?

public Object get(final Class classObject, final Serializable id)
            throws PersistenceException {
        LOGGER.debug(LOG_PREFIX + "get::Begin");
        Object obj = this.runInSession(new PersistentUnitOfWork() {
            public Object run() throws PersistenceException {
                return getPersistenceContext().get(classObject, id);
            }
        });
        LOGGER.debug(LOG_PREFIX + "get::End");
        return obj;
    }

有什么问题是因为这个吗?

4

1 回答 1

0

如果您使用 Hibernate API,则会话的 get 方法支持可序列化类型的 id。如果 API 正式支持,我预计不会出现任何问题

http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Session.html#get(java.lang.Class,java.io.Serializable

如果你不能使用它,拥有这样一个 API 又有什么意义呢?

于 2012-07-18T09:09:59.963 回答