java中Integer和String的公共属性Type

时间:2012-07-18 09:05:57

标签: java hibernate

我创建了一个方法,它使用argers作为Integer,使用hibernate从Db获取DB记录。现在我有相同场景的字符串类型参数。我可以将该方法签名更改为Serializable以支持Integer和String。如果我将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;
    }

出现任何问题?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Hibernate API,则会话的get方法支持类型为serializable的id。如果API正式支持,我认为不会出现任何问题

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

如果你不能使用它,它有什么意义?