问题描述
[TopLinkInfo]:2011.03.2604:32:10.671--ServerSession(27891041)--TopLink,version:OracleTopLinkEssentials-2.0(Buildb40-rc(03/21/2007))[TopLinkInfo]:2011.03.2604:32:11.109--ServerSession(27891041)--file:/D:/Workspaces%20Of%20MyEclipse%20for%20Spring%208.6/JpaTest/bin/-JpaTestPUloginsuccessfulExceptioninthread"main"java.lang.IllegalArgumentException:Object:domain.Test_Account@1989b5isnotaknownentitytype.atoracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:3198)atoracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.persist(EntityManagerImpl.java:190)atdao.Test_AccountDAO.save(Test_AccountDAO.java:22)atmaintest.Main.main(Main.java:19)JpaTestPUloginsuccessful是不是说已经登录了数据库,但是无法识别Test_Account类型?我是用MyEclipse8.6自动搭建的项目。请教大侠,请问这种错误,指点应该怎么修改?
解决方案
解决方案二:
请问应该怎么配置啊,大侠给指教一下
解决方案三:
Test_Account类不是一个实体类,检查一下这个类有没有标注@EntityPS:这类名也是非常少见地使用了下划线。
解决方案四:
@Entity用了啊,楼上。packagedomain;importjava.io.Serializable;importjavax.persistence.Entity;importjavax.persistence.Id;importjavax.persistence.Table;@Entity@Table(name="test_account")publicclassTest_AccountimplementsSerializable{@IdprivateStringaccount;//主键privateStringpassword;privatedoublebalance;//这里的3个属性对应于表test_account的3列publicStringgetAccount(){returnaccount;}publicvoidsetAccount(Stringaccount){this.account=account;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicdoublegetBalance(){returnbalance;}publicvoidsetBalance(doublebalance){this.balance=balance;}}
解决方案五:
main函数里面这么写的:Test_Accounttemp=newTest_Account();temp.setAccount("abcdef");temp.setPassword("555551");temp.setBalance(1245.32);EntityManagerem;EntityManagerFactoryemf;emf=Persistence.createEntityManagerFactory("JpaTestPU");em=emf.createEntityManager();em.getTransaction().begin();em.persist(temp);em.getTransaction().commit();
解决方案六:
xml里面的配置:<?xmlversion="1.0"encoding="UTF-8"?><persistencexmlns="http://java.sun.com/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/persistencehttp://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"version="1.0"><persistence-unitname="JpaTestPU"transaction-type="RESOURCE_LOCAL"><provider>oracle.toplink.essentials.PersistenceProvider</provider><properties><propertyname="toplink.jdbc.driver"value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/><propertyname="toplink.jdbc.url"value="jdbc:sqlserver://localhost:1433;DatabaseName=TestDB"/><propertyname="toplink.jdbc.user"value="sa"/><propertyname="toplink.jdbc.password"value="666666"/></properties></persistence-unit></persistence>
解决方案七:
<exclude-unlisted-classes>false</exclude-unlisted-classes>
解决方案八:
该回复于2011-04-19 15:06:11被版主删除