java - EclipseLink JPA Object is not a known entity type -
i have strange problem eclipselink , object want persist. have 1 object (keypointlistimpl) stores object keypointimpl in list. persisting keypointimpl objects works great if try persist keypointlistimpl object java.lang.illegalargumentexception says object keypointimpl isn't known entity type.
here keypointimpl code:
@entity @table(name="keypoints") public class keypointimpl implements keypoint { @id @generatedvalue(strategy = generationtype.identity) private int id; @enumerated(enumtype.string) private detectortype keypointtype; private float x; private float y; private float size; private float angle; private float response; private int octave; private int classid; ... }
here keypointlistimpl code:
@entity @table(name="keypointlists") public class keypointlistimpl implements keypointlist { @id @generatedvalue(strategy = generationtype.identity) private int id; @onetoone(cascade={cascadetype.all}, targetentity=keypointimpl.class) private list<keypoint> keypoints; ... }
here mains content:
keypoint kp1 = new keypointimpl(detectortype.fast, 5, 5, 10, 90, 2, 3, 0); keypoint kp2 = new keypointimpl(detectortype.fast, 6, 6, 3, 45, 1, 2, 1); em.persist(kp1); em.persist(kp2); list<keypoint> keypoints = new arraylist<keypoint>(); keypoints.add(kp1); keypoints.add(kp2); keypointlist keypointlist = new keypointlistimpl(); keypointlist.setkeypointlist(keypoints); em.persist(keypointlist);
the tables constructed fine. keypointslists(id, keypoints_id) , keypoints(..., ...) table.
can point me error please?! :-)
as requested persistence.xml well
<?xml version="1.0" encoding="utf-8" ?> <persistence xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="audimodelrecognition" transaction-type="resource_local"> <class>amr.model.keypointimpl</class> <class>amr.model.keypointlistimpl</class> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/amr" /> <property name="javax.persistence.jdbc.user" value="arm" /> <property name="javax.persistence.jdbc.password" value="..." /> <!-- eclipselink should create database schema automatically --> <property name="eclipselink.ddl-generation" value="create-tables" /> <property name="eclipselink.ddl-generation.output-mode" value="database" /> </properties> </persistence-unit> </persistence>
than i'll write comment answer: @onetoone on list looks wrong. use @onetomany.
Comments
Post a Comment