JPR 2 ile kendi kendini referanslama tablosunu modellemek için EclipseLink 2.3.1 kullanıyorum. EntityManager'ı oluşturduğumda EclipseLink'ten garip bir uyarı alıyorum.EclipseLink uyarısı bilinmiyor
[EL Warning]: 2011-11-27 14:28:00.91--ServerSession(8573456)--Reverting the lazy setting on the OneToOne or ManyToOne attribute [redirectID] for the entity class [class lp.db.model.Site] since weaving was not enabled or did not occur.
Bu uyarı hakkında herhangi bir belge bulamadım ve ne anlama geldiğinden emin değilim. Ayrıca, bu uyarının görünmesine neden olan sorunun nasıl çözüleceğini de bilmek istiyorum ...
JPA'ya yeni geliyorum, bu yüzden aptalca bir şey olabilir. Programım gerçekten çok basit. İşte
@Entity
@Table(name="site")
public class Site implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="site_id")
public String siteID;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="redirect_id", referencedColumnName="site_id")
public Site redirectID;
@Column(name="name")
public String name;
}
persistence.xml edilir: Burada varlık tanımıdır
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/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">
<persistence-unit name="lpdb2" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>lp.db.model.Site</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/lpdb2"/>
<property name="javax.persistence.jdbc.user" value="blabla"/>
</properties>
</persistence-unit>
</persistence>
bu uyarıyı neden kodu: Ortaya çıkan EM gayet iyi ve can olduğunu
Persistence.createEntityManagerFactory("lpdb2").createEntityManager();
Not öğeleri bulmak için (örneğin) kullanılabilir. Ayrıca, varlıkların grafiğini de geçebilirim - veri tabanında bir varlık bulabilir ve sonra redirectID alanını kullanarak başka bir varlık elde edebilirim.
Teşekkürler! Bir sebepten dolayı bu kaynağı atladım. Kontrol edeceğim. – gamliela
Çalışmak için dinamik dokuma elde etmek için JVM komut satırına -javaagent: eclipselink.jar eklemek zorunda kaldım. Http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Dynamic_Weaving sayfasına bakın. – Nathan