I use Hibernate and have a persistent class called "User". Since this is a keyword, I marked the @Entity attribute with a different name (I saw, for example, this question: Cannot use a table named "user" in postgresql hibernate )
However, I still run into problems because this class extends another, and it looks like hibernate is still trying to use "user" as the column name and gets confused:
@Entity( name = "XonamiUser" ) public class User extends PropertyContainer { ...
and
@MappedSuperclass public abstract class PropertyContainer implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) protected long key; @ElementCollection protected Set<String> tags; @ElementCollection protected Set<String> searchList; ...
My other classes that extend the PropertyContainer seem to be working fine.
Is this a bug in sleep mode? Is there any way around this refactoring? Thanks!
Here are the errors that I see (slightly cleared):
WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601 ERROR org.hibernate.util.JDBCExceptionReporter - Batch entry 0 insert into user_search_list (user, search_list) values ('1', 'bjorn') was aborted. Call getNextException to see the cause. WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 42601 ERROR org.hibernate.util.JDBCExceptionReporter - ERROR: syntax error at or near "user" Position: 31
source share