这不是说得很清楚么?
1. ejbCreate方法地返回类型必须是主键类型,必须抛出CreateException。你的主键大概不是java.lang.String吧?好像必须写全。
2. 所有的cmp field必须定义get和set方法,你没有定义setDescription和getDescription方法
1. ejbCreate方法地返回类型必须是主键类型,必须抛出CreateException。你的主键大概不是java.lang.String吧?好像必须写全。
2. 所有的cmp field必须定义get和set方法,你没有定义setDescription和getDescription方法
电子工业出版社的〈精通EJB〉的解释是:因为我们使用容器管理的持久,所以这个方法没有返回值。用Bean管理持久我们返回主键。这是因为我们的Bean负责处理主键和访问数据库。现在我们让容器处理持久,容器产生主键!
但是它给出的示例程序是返回一个java.lang.String。不知道为什么。
至于description是我在部署时遗漏了,补上后就没有这个Warning了;
还有jaws.xml的写法我也不太清楚。
望指点!!
如果有成功部署的原代码就更好了!!
另外,书上也未必就不能出错,你也大可不必拿了张旧地图就偏往墙上撞。jaws.xml你大概可以象下面这样写:
<jaws>
<datasource>dsJNDI</datasource>
<type-mapping>Oracle8</type-mapping>
<enterprise-beans>
<entity>
<ejb-name>EJBNAME</ejb-name>
<table-name>TABLENAME</table-name>
<create-table>false</create-table>
<cmp-field>
<field-name>FIELDNAME</field-name>
<column-name>COLUMNNAME</column-name>
<jdbc-type>VARCHAR</jdbc-type>
<sql-type></sql-type>
</cmp-field>
<finder>
<name>findByName</name>
<query>columnname= {0} </query>
<order></order>
</finder>
</entity>
</enterprise-beans>
</jaws>