Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use Space in column name with JPA and Hibernate

I have used in my java DAO class which contains Space in between LANG PREF

 @Column(name = "LANG PREF")
  private String langprefid;

Once my java class runs, I am getting

org.hibernate.exception.SQLGrammarException: Incorrect syntax near the keyword 'as'.

Can anyone help me regarding this problem?

like image 633
user2563648 Avatar asked Jul 06 '15 06:07

user2563648


1 Answers

Manually escaping the reserved keywords

If you're using Hibernate native API, then you can escape them using backticks:

@Column(name = "`LANG PREF`")

If you are using JPA, you can escape with double quotes:

@Column(name = "\"LANG PREF\"")

Automatically escaping reserved keywords

If you want to automatically scape reserved keywords, you can set to true the Hibernate-specific hibernate.globally_quoted_identifiers configuration property:

<property
    name="hibernate.globally_quoted_identifiers"
    value=true"
/>
like image 120
Vlad Mihalcea Avatar answered Oct 12 '22 04:10

Vlad Mihalcea