2014-12-12 3 views
0

여기에 내 엔터티 클래스가 있습니다. 나는 URL을 로컬 호스트를 실행하면문을 실행할 수 없습니다. SQL Grammer 예외

@Entity 
public class Store implements Serializable { 

    private static final long serialVersionUID = 1L; 

    public Store() { 
    } 

    @Id 
    private int id; 
    private String code; 
    private String password; 
    private String forgetPasswordNote; 
    private String key; 
    private String ownerId; 
    private String storeLink; 
    private String activationCode; 
    private String name; 
    private String homepageUrl; 
    private String sessionToken; 
    private Date dateCreated; 
    private Date expireDate; 
    private Date lastModified; 
    private String nmPassword; 
    private String storeType; 
    private String premium; 
    private double money; 
    private boolean refreshed; 
    private String country; 
    private String lang; 
    private String varId; 
    private String fbPageId; 
    private boolean fbEnabled; 
    private boolean informative; 
    private boolean active; 
    private String fbEnabledBy; 
    private String ipAddress; 
    private String comments; 
    private float commission; 
    private String picasaEmail; 
    // all getter and setter goes here 

} 

여기 내 컨트롤러

@Controller 
public class RegController { 
    @RequestMapping(value = "/create/database") 
    public String createDatabase(ModelMap map, HttpServletRequest request) { 
     Store store = new Store(); 
     store.setId(1); 
     store.setCode("1"); 
     System.out.println("test worl"); 
     @SuppressWarnings("deprecation") 
     SessionFactory sessionFactory = new Configuration().configure() 
       .buildSessionFactory(); 
     try { 
      Session session = sessionFactory.openSession(); 
      session.beginTransaction(); 
      session.save(store); 
      session.getTransaction().commit(); 
      session.close(); 
     } catch (Exception e) { 
      System.out.println(e.toString()); 
     } 
     return "home"; 
    } 
} 

입니다 : 8080/MyApp를// I는 무엇입니까 데이터베이스 및 오류를 생성합니다. org.hibernate.exception.SQLGrammarException : 구문을 실행할 수 없습니다. entites 클래스에 예약 된 키워드가 있습니까?

미리 감사드립니다.

+0

내 컨트롤러에서 엔티티 클래스를 정의했습니다. 또한 hibernate.cfg.xml 파일에 엔티티 클래스도 정의했습니다. – suroz

+0

솔루션 키가 mysql 데이터베이스에 예약 된 키워드라는 것을 알았 기 때문에 단순히 키를 storekey로 변경하면 모든 것이 올바르게 동작합니다. – suroz

+0

돈이 키워드가 아닙니다. 키워드는 "키"입니다. – suroz

답변

2

솔루션 키가 mysql 데이터베이스에 예약 된 키워드라는 것을 알았 기 때문에 간단히 키를 storekey로 변경하면 모든 것이 올바르게 작동합니다.