2011-01-18 2 views
0


나는이 간단한 콩 이름 상표가있다.
나는 그를 밖으로 테이블을 만들 수 있지만 나는 데이터를 삽입 할 수 없습니다 (MySQL).
오류가 :자바 동면 클래스 CLASS가 콩이 아니다

Brand brand = new Brand(); 

    brand.setName("test"); 
    brand.setUrl("http://www.google.com"); 

    Session ses = new AnnotationConfiguration().configure().buildSessionFactory().getCurrentSession(); 
    Transaction t = ses.beginTransaction(); 
    ses.save(brand); 
    t.commit(); 

이는 다음과 같습니다

package com.hibernate.beans; 

import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 

@Entity 
public class Brand { 
    @Id 
    @GeneratedValue(strategy=GenerationType.IDENTITY) 
    private Long brandId; 
    private String name; 
    private String url; 


    public String getUrl() { 
     return url; 
    } 
    public void setUrl(String url) { 
     this.url = url; 
    } 
    public Long getBrandId() { 
    return brandId; 
} 
public void setBrandId(Long brandId) { 
    this.brandId = brandId; 
} 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
} 

이 내가 데이터를 (내가 오류가 어디서) 삽입 할 방법은 다음과 같습니다

Exception in thread "main" org.hibernate.MappingException: Unknown entity: com.hibernate.beans.Brand 

이는 콩입니다 테이블이 성공적으로 생성되는 방법 :

AnnotationConfiguration config = new AnnotationConfiguration(); 
config.addAnnotatedClass(Brand.class); 
config.configure(); 
new SchemaExport(config).create(true, true); 

답변

2

db와 상호 작용하는 데 사용하는 세션 팩토리는 엔티티에 대해 알아야합니다. 귀하의 경우에는

는이 같은 브랜드 추가하는 코드를 변경해야 : 스레드에서

Brand brand = new Brand(); 

brand.setName("test"); 
brand.setUrl("http://www.google.com"); 

AnnotationConfiguration c = new AnnotationConfiguration(); 
c.addAnnotatedClass(Brand.class); 
c.configure(); 

Session ses = c.buildSessionFactory().getCurrentSession(); 

Transaction t = ses.beginTransaction(); 
ses.save(brand); 
t.commit(); 
+0

예외를 "주"java.lang.NoClassDefFoundError가 :와 Javassist는/폴더의 유틸리티/프록시/MethodFilter, 그것은 무엇인가? 덕분에 – fatnjazzy

+0

당신은 응용 프로그램에 대한 모든 필수 종속성을 가지고 있지 않습니다. 당신은 당신이 hibernate 배포판에서 찾은 런타임 라이브러리를 필요로한다 (이 경우'javaassist.jar'가 빠져있다). –