DataSource.getInheritsFrom()失败,并抛出ClassCastException
问题描述:
在SmartGwtEE项目中,我有.ds.xml文件描述的数据源的层次,这里是其中的一些:DataSource.getInheritsFrom()失败,并抛出ClassCastException
BaseElement_DS.ds.xml
<DataSource ID="BaseElement_DS" serverConstructor="com.isomorphic.jpa.JPADataSource"
beanClassName="lnudb.server.model.BaseElement">
<fields>
<field name="id" type="sequence" hidden="true" primaryKey="true" />
<field name="name" type="text" title="Name" required="true" />
<field name="dsId" type="text" title="Datasource" hidden="true"/>
</fields>
</DataSource>
Human_DS.ds.xml
<DataSource ID="Human_DS" serverConstructor="com.isomorphic.jpa.JPADataSource"
beanClassName="org.zasadnyy.lnudb.server.model.Human" inheritsFrom="BaseElement_DS"
useParentFieldOrder="true">
<fields>
<field name="surname" type="text" />
<field name="birthday" type="date" title="Birthday" required="false" />
</fields>
</DataSource>
PROBL EM:当我试图让父数据源ID代码
String parentDsId = DataSource.get("Human_DS").getInheritsFrom();
ClassCastExeption从getInheritsFrom内提出()方法:
java.lang.ClassCastException: com.google.gwt.core.client.JavaScriptObject$ cannot be cast to java.lang.String
我会感谢任何帮助。
答
这样你就不会得到异常不再:
String parentDsId = DataSource.get("Human_DS").getInheritsFrom() + "";
但是,我不知道这是否是你的目的“OK”。如果这对你不合适,尝试创建一个Javascript对象并将前面提到的值赋予它。我希望这有帮助。
感谢您的快速回答,但这并没有帮助,这种解决方案可以在JavaScript中帮助,但不能在Java中帮助。 – zasadnyy